summaryrefslogtreecommitdiff
path: root/test/test_process.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-12-23 09:16:02 -0500
committerNed Batchelder <ned@nedbatchelder.com>2012-12-23 09:16:02 -0500
commit48e906a82eab99c1269bfbd437a0415d979a440b (patch)
treed04bf13bb17b8fed66b3904e767d3750d7545d0f /test/test_process.py
parent05444facc0d222b2fcf7e1215ec71f8c9b7b3c04 (diff)
downloadpython-coveragepy-git-48e906a82eab99c1269bfbd437a0415d979a440b.tar.gz
One more test, to prove that bug #220 is invalid.
Diffstat (limited to 'test/test_process.py')
-rw-r--r--test/test_process.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/test_process.py b/test/test_process.py
index 524d793e..563c2c2e 100644
--- a/test/test_process.py
+++ b/test/test_process.py
@@ -80,6 +80,46 @@ class ProcessTest(CoverageTest):
data.read_file(".coverage")
self.assertEqual(data.summary()['b_or_c.py'], 7)
+ def test_combine_parallel_data_in_two_steps(self):
+ self.make_file("b_or_c.py", """\
+ import sys
+ a = 1
+ if sys.argv[1] == 'b':
+ b = 1
+ else:
+ c = 1
+ d = 1
+ print ('done')
+ """)
+
+ out = self.run_command("coverage -x -p b_or_c.py b")
+ self.assertEqual(out, 'done\n')
+ self.assert_doesnt_exist(".coverage")
+ self.assertEqual(self.number_of_data_files(), 1)
+
+ # Combine the (one) parallel coverage data file into .coverage .
+ self.run_command("coverage -c")
+ self.assert_exists(".coverage")
+ self.assertEqual(self.number_of_data_files(), 1)
+
+ out = self.run_command("coverage -x -p b_or_c.py c")
+ self.assertEqual(out, 'done\n')
+ self.assert_exists(".coverage")
+ self.assertEqual(self.number_of_data_files(), 2)
+
+ # Combine the parallel coverage data files into .coverage .
+ self.run_command("coverage -c")
+ self.assert_exists(".coverage")
+
+ # After combining, there should be only the .coverage file.
+ self.assertEqual(self.number_of_data_files(), 1)
+
+ # Read the coverage file and see that b_or_c.py has all 7 lines
+ # executed.
+ data = coverage.CoverageData()
+ data.read_file(".coverage")
+ self.assertEqual(data.summary()['b_or_c.py'], 7)
+
def test_combine_with_rc(self):
self.make_file("b_or_c.py", """\
import sys