#3821: beginnings of a trace.py unittest.

This commit is contained in:
Georg Brandl 2010-08-02 12:48:46 +00:00
parent dc50c696ab
commit 283b125551
1 changed files with 47 additions and 0 deletions

47
Lib/test/test_trace.py Normal file
View File

@ -0,0 +1,47 @@
# Testing the trace module
from test.support import run_unittest, TESTFN, rmtree, unlink, captured_stdout
import unittest
import trace
import os, sys
class TestCoverage(unittest.TestCase):
def tearDown(self):
rmtree(TESTFN)
unlink(TESTFN)
def _coverage(self, tracer):
tracer.run('from test import test_pprint; test_pprint.test_main()')
r = tracer.results()
r.write_results(show_missing=True, summary=True, coverdir=TESTFN)
def test_coverage(self):
tracer = trace.Trace(trace=0, count=1)
with captured_stdout() as stdout:
self._coverage(tracer)
stdout = stdout.getvalue()
self.assertTrue("pprint.py" in stdout)
self.assertTrue("case.py" in stdout) # from unittest
files = os.listdir(TESTFN)
self.assertTrue("pprint.cover" in files)
self.assertTrue("unittest.case.cover" in files)
def test_coverage_ignore(self):
# Ignore all files, nothing should be traced nor printed
libpath = os.path.normpath(os.path.dirname(os.__file__))
# sys.prefix does not work when running from a checkout
tracer = trace.Trace(ignoredirs=[sys.prefix, sys.exec_prefix, libpath],
trace=0, count=1)
with captured_stdout() as stdout:
self._coverage(tracer)
self.assertEquals(stdout.getvalue(), "")
if os.path.exists(TESTFN):
files = os.listdir(TESTFN)
self.assertEquals(files, [])
def test_main():
run_unittest(__name__)
if __name__ == "__main__":
test_main()