diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-04-15 13:22:51 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-04-15 13:22:51 -0400 |
commit | 341ae4222fbba91987dac1ff0d2debe5c0c8ef99 (patch) | |
tree | c2492004e594b7a61c3750fc0d365d38f014dbc5 /test/test_coverage.py | |
parent | c2284d65bdb56cd1eb56c3e53228892824189732 (diff) | |
download | python-coveragepy-git-341ae4222fbba91987dac1ff0d2debe5c0c8ef99.tar.gz |
If a module was loaded from a .pyc, report its file as .py
Diffstat (limited to 'test/test_coverage.py')
-rw-r--r-- | test/test_coverage.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/test_coverage.py b/test/test_coverage.py index 2974296d..3b1898a8 100644 --- a/test/test_coverage.py +++ b/test/test_coverage.py @@ -22,6 +22,11 @@ class CoverageTest(unittest.TestCase): self.tempdir.makedirs() self.olddir = os.getcwd() os.chdir(self.tempdir) + + # Modules should be importable from this temp directory. + self.oldsyspath = sys.path[:] + sys.path.insert(0, '') + # Keep a counter to make every call to checkCoverage unique. self.n = 0 @@ -29,6 +34,7 @@ class CoverageTest(unittest.TestCase): def tearDown(self): coverage.end_recursive() + sys.path = self.oldsyspath # Get rid of the temporary directory. os.chdir(self.olddir) self.temproot.rmtree() @@ -1810,6 +1816,51 @@ class ApiTests(CoverageTest): self.assertEqual(statements, [1]) self.assertEqual(missing, [1]) + def testFileNames(self): + + self.makeFile("mymain", """\ + import mymod + a = 1 + """) + + self.makeFile("mymod", """\ + fooey = 17 + """) + + # Import the python file, executing it. + cov = coverage.coverage() + cov.start() + self.importModule("mymain") + cov.stop() + + filename, _, _, _ = cov.analysis("mymain.py") + self.assertEqual(os.path.basename(filename), "mymain.py") + filename, _, _, _ = cov.analysis("mymod.py") + self.assertEqual(os.path.basename(filename), "mymod.py") + + filename, _, _, _ = cov.analysis(sys.modules["mymain"]) + self.assertEqual(os.path.basename(filename), "mymain.py") + filename, _, _, _ = cov.analysis(sys.modules["mymod"]) + self.assertEqual(os.path.basename(filename), "mymod.py") + + # Import the python file, executing it again, once it's been compiled + # already. + cov = coverage.coverage() + cov.start() + self.importModule("mymain") + cov.stop() + + filename, _, _, _ = cov.analysis("mymain.py") + self.assertEqual(os.path.basename(filename), "mymain.py") + filename, _, _, _ = cov.analysis("mymod.py") + self.assertEqual(os.path.basename(filename), "mymod.py") + + filename, _, _, _ = cov.analysis(sys.modules["mymain"]) + self.assertEqual(os.path.basename(filename), "mymain.py") + filename, _, _, _ = cov.analysis(sys.modules["mymod"]) + self.assertEqual(os.path.basename(filename), "mymod.py") + + class CmdLineTests(CoverageTest): def help_fn(self, error=None): |