diff options
author | Dan Riti <dmriti@gmail.com> | 2016-06-24 07:56:45 -0400 |
---|---|---|
committer | Dan Riti <dmriti@gmail.com> | 2016-06-24 07:56:45 -0400 |
commit | b437400eb87fdefbb9d0508c06cc3742227632e6 (patch) | |
tree | 8ef84a4e641f4d3e6c43e17b9f89b075261f37de | |
parent | 88a6a80b969760dd1ec35a2acd0cc139f4904547 (diff) | |
download | python-coveragepy-b437400eb87fdefbb9d0508c06cc3742227632e6.tar.gz |
Add test case that demonstrates problem #492
-rw-r--r-- | tests/test_process.py | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/tests/test_process.py b/tests/test_process.py index 2c7751f..1421db0 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -1029,9 +1029,8 @@ class ProcessCoverageMixin(object): class ProcessStartupTest(ProcessCoverageMixin, CoverageTest): """Test that we can measure coverage in sub-processes.""" - def test_subprocess_with_pth_files(self): # pragma: not covered - if env.METACOV: - self.skipTest("Can't test sub-process pth file suppport during metacoverage") + def setUp(self): + super(ProcessStartupTest, self).setUp() # Main will run sub.py self.make_file("main.py", """\ @@ -1044,6 +1043,11 @@ class ProcessStartupTest(ProcessCoverageMixin, CoverageTest): with open("out.txt", "w") as f: f.write("Hello, world!\\n") """) + + def test_subprocess_with_pth_files(self): # pragma: not covered + if env.METACOV: + self.skip("Can't test sub-process pth file suppport during metacoverage") + self.make_file("coverage.ini", """\ [run] data_file = .mycovdata @@ -1060,6 +1064,28 @@ class ProcessStartupTest(ProcessCoverageMixin, CoverageTest): data.read_file(".mycovdata") self.assertEqual(data.line_counts()['sub.py'], 2) + def test_subprocess_with_pth_files_and_parallel(self): + if env.METACOV: + self.skip("Can't test sub-process pth file suppport during metacoverage") + + self.make_file("coverage.ini", """\ + [run] + parallel = true + """) + + self.set_environ("COVERAGE_PROCESS_START", "coverage.ini") + out = self.run_command("coverage run main.py") + + with open("out.txt") as f: + self.assertEqual(f.read(), "Hello, world!\n") + + self.run_command("coverage combine") + self.assert_exists(".coverage") + data_files = glob.glob(os.getcwd() + '/.coverage*') + self.assertEquals(len(data_files), 1, + "Expected only .coverage after combine, looks like there are " + \ + "extra data files that were not cleaned up: %r" % data_files) + class ProcessStartupWithSourceTest(ProcessCoverageMixin, CoverageTest): """Show that we can configure {[run]source} during process-level coverage. |