summaryrefslogtreecommitdiff
path: root/test/coveragetest.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2010-05-15 19:47:14 -0400
committerNed Batchelder <ned@nedbatchelder.com>2010-05-15 19:47:14 -0400
commit4fb69b6c13c00bba910afe9d6beade673f4e4386 (patch)
treeeb8a25de40952b9ed98a66e6c82caf9805ffac08 /test/coveragetest.py
parent128e1985c1d0f958dfda551f92fc858c1989777f (diff)
downloadpython-coveragepy-git-4fb69b6c13c00bba910afe9d6beade673f4e4386.tar.gz
Hook up omit and include to the run command. Test the new cmdline behavior and run behavior.
Diffstat (limited to 'test/coveragetest.py')
-rw-r--r--test/coveragetest.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/coveragetest.py b/test/coveragetest.py
index 277b4f03..07053ee5 100644
--- a/test/coveragetest.py
+++ b/test/coveragetest.py
@@ -60,6 +60,9 @@ class CoverageTest(TestCase):
self.captured_stderr = StringIO()
sys.stderr = self.captured_stderr
+ # Record sys.modules here so we can remove imported modules in tearDown.
+ self.old_modules = dict(sys.modules)
+
def tearDown(self):
if self.run_in_temp_dir:
# Restore the original sys.path.
@@ -76,6 +79,11 @@ class CoverageTest(TestCase):
sys.stdout = self.old_stdout
sys.stderr = self.old_stderr
+ # Remove any new modules imported during the test run. This lets us
+ # import the same source files for more than one test.
+ for m in [m for m in sys.modules if m not in self.old_modules]:
+ del sys.modules[m]
+
def set_environ(self, name, value):
"""Set an environment variable `name` to be `value`.