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 | 7400814e5a58f3ad7434b4998feb6d2f9d118952 (patch) | |
tree | acf2d3b4f119f8a60d2ec5ef96d6179bf0aab861 | |
parent | a284bd747a8d3540b52bd2331d07e55cc8c3a259 (diff) | |
download | python-coveragepy-git-7400814e5a58f3ad7434b4998feb6d2f9d118952.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 2c7751ff..1421db0c 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. |