mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
#3821: beginnings of a trace.py unittest.
This commit is contained in:
parent
dc50c696ab
commit
283b125551
1 changed files with 47 additions and 0 deletions
47
Lib/test/test_trace.py
Normal file
47
Lib/test/test_trace.py
Normal 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()
|
Loading…
Add table
Add a link
Reference in a new issue