From 92aad6e705c99fa662e1f03eaf00871ba0b19874 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 23 Dec 2012 09:16:02 -0500 Subject: One more test, to prove that bug #220 is invalid. --- test/test_process.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/test/test_process.py b/test/test_process.py index 524d793..563c2c2 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 -- cgit v1.2.1