diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-08 22:15:06 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-08 22:15:06 -0400 |
commit | 44beff7f1ce7b8320943abc61a7c70410ab8dbdf (patch) | |
tree | 0fd59d0066fe7da164cb9c09f3103d8572b3171d /tests/test_process.py | |
parent | 839a1a0209f2ed27215c8f2fb75c710806346b38 (diff) | |
parent | b44dae19881b970b05913b09911dea5c3951eaf9 (diff) | |
download | python-coveragepy-git-44beff7f1ce7b8320943abc61a7c70410ab8dbdf.tar.gz |
Merge branch 'master' into nedbat/data-sqlite
Diffstat (limited to 'tests/test_process.py')
-rw-r--r-- | tests/test_process.py | 64 |
1 files changed, 29 insertions, 35 deletions
diff --git a/tests/test_process.py b/tests/test_process.py index 341ad37c..ede86691 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -25,14 +25,6 @@ from tests.helpers import re_lines class ProcessTest(CoverageTest): """Tests of the per-process behavior of coverage.py.""" - def data_files(self): - """Return the names of coverage data files in this directory.""" - return [f for f in os.listdir('.') if (f.startswith('.coverage.') or f == '.coverage')] - - def number_of_data_files(self): - """Return the number of coverage data files in this directory.""" - return len(self.data_files()) - def test_save_on_exit(self): self.make_file("mycode.py", """\ h = "Hello" @@ -79,21 +71,21 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run -p b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 1) out = self.run_command("coverage run -p b_or_c.py c") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") # After two -p runs, there should be two .coverage.machine.123 files. - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 2) # Combine the parallel coverage data files into .coverage . self.run_command("coverage combine") self.assert_exists(".coverage") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has all 8 lines # executed. @@ -117,14 +109,14 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run -p b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 1) out = self.run_command("coverage run -p b_or_c.py c") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") # After two -p runs, there should be two .coverage.machine.123 files. - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 2) # Make a bogus data file. self.make_file(".coverage.bad", "This isn't a coverage data file.") @@ -140,7 +132,7 @@ class ProcessTest(CoverageTest): self.assertRegex(out, warning_regex) # After combining, those two should be the only data files. - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 1) # Read the coverage file and see that b_or_c.py has all 8 lines # executed. @@ -154,7 +146,7 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Make bogus data files. self.make_file(".coverage.bad1", "This isn't a coverage data file.") @@ -174,7 +166,8 @@ class ProcessTest(CoverageTest): self.assertRegex(out, r"No usable data files") # After combining, we should have a main file and two parallel files. - self.assertEqual(self.number_of_data_files(), 3) + self.assert_exists(".coverage") + self.assert_file_count(".coverage.*", 2) # Read the coverage file and see that b_or_c.py has 6 lines # executed (we only did b, not c). @@ -188,24 +181,24 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run -p b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 1) # Combine the (one) parallel coverage data file into .coverage . self.run_command("coverage combine") self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) out = self.run_command("coverage run -p b_or_c.py c") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 1) # Combine the parallel coverage data files into .coverage . self.run_command("coverage combine --append") self.assert_exists(".coverage") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has all 8 lines # executed. @@ -219,17 +212,17 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run -p b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_doesnt_exist(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 1) # Combine the (one) parallel coverage data file into .coverage . self.run_command("coverage combine") self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) out = self.run_command("coverage run -p b_or_c.py c") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 1) # Combine the parallel coverage data files into .coverage, but don't # use the data in .coverage already. @@ -237,7 +230,7 @@ class ProcessTest(CoverageTest): self.assert_exists(".coverage") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has only 7 lines # because we didn't keep the data from running b. @@ -251,12 +244,12 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) out = self.run_command("coverage run --append b_or_c.py c") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has all 8 lines # executed. @@ -294,7 +287,7 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run --append b_or_c.py b") self.assertEqual(out, 'done\n') self.assert_exists(".coverage") - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has only 6 lines # executed. @@ -319,7 +312,7 @@ class ProcessTest(CoverageTest): self.assert_doesnt_exist(".coverage") # After two runs, there should be two .coverage.machine.123 files. - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 2) # Combine the parallel coverage data files into .coverage . self.run_command("coverage combine") @@ -327,7 +320,7 @@ class ProcessTest(CoverageTest): self.assert_exists(".coveragerc") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage file and see that b_or_c.py has all 8 lines # executed. @@ -375,13 +368,13 @@ class ProcessTest(CoverageTest): out = self.run_command("coverage run " + os.path.normpath("d2/x.py")) self.assertEqual(out, '4 5\n') - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 2) self.run_command("coverage combine") self.assert_exists(".coverage") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) # Read the coverage data file and see that the two different x.py # files have been combined together. @@ -534,19 +527,20 @@ class ProcessTest(CoverageTest): # After running the forking program, there should be two # .coverage.machine.123 files. - self.assertEqual(self.number_of_data_files(), 2) + self.assert_file_count(".coverage.*", 2) # The two data files should have different random numbers at the end of # the file name. - nums = set(name.rpartition(".")[-1] for name in self.data_files()) - self.assertEqual(len(nums), 2, "Same random: %s" % (self.data_files(),)) + data_files = glob.glob(".coverage.*") + nums = set(name.rpartition(".")[-1] for name in data_files) + self.assertEqual(len(nums), 2, "Same random: %s" % (data_files,)) # Combine the parallel coverage data files into .coverage . self.run_command("coverage combine") self.assert_exists(".coverage") # After combining, there should be only the .coverage file. - self.assertEqual(self.number_of_data_files(), 1) + self.assert_file_count(".coverage.*", 0) data = coverage.CoverageData() data.read() |