From 9e0842fe32bb0fee205c9132d55e384b29446bc9 Mon Sep 17 00:00:00 2001 From: Christine Lytwynec Date: Tue, 21 Apr 2015 11:28:13 -0400 Subject: Added ability to combine coverage data files from multiple directories into one file via command line args. --HG-- branch : combine-from-multiple-dirs --- tests/test_cmdline.py | 4 ++-- tests/test_data.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 775e0033..54d84197 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -214,10 +214,10 @@ class CmdLineTest(BaseCmdLineTest): def test_combine(self): # coverage combine - self.cmd_executes("combine", """\ + self.cmd_executes("combine datadir1", """\ .coverage() .load() - .combine() + .combine(["datadir1"]) .save() """) diff --git a/tests/test_data.py b/tests/test_data.py index 0549a3c0..9156e5a9 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -1,5 +1,8 @@ """Tests for coverage.data""" +import os +import shutil + from coverage.backward import pickle from coverage.data import CoverageData from coverage.files import PathAliases @@ -154,3 +157,29 @@ class DataTest(CoverageTest): covdata3, {'./a.py': 4, './sub/b.py': 2}, fullpath=True ) self.assert_measured_files(covdata3, ['./a.py', './sub/b.py']) + + def test_combining_from_different_directories(self): + try: + covdata1 = CoverageData() + covdata1.add_line_data(DATA_1) + os.makedirs('cov1') + covdata1.write_file('cov1/.coverage.1') + + covdata2 = CoverageData() + covdata2.add_line_data(DATA_2) + os.makedirs('cov2') + covdata2.write_file('cov2/.coverage.2') + + covdata3 = CoverageData() + covdata3.combine_parallel_data(data_dirs=[ + 'cov1/', + 'cov2/', + ]) + + self.assert_summary(covdata3, SUMMARY_1_2) + self.assert_measured_files(covdata3, MEASURED_FILES_1_2) + finally: + # Use shutil here because if something goes wrong above, these + # dirs may not be empty and os.rmdir would fail to remove them. + shutil.rmtree('cov1') + shutil.rmtree('cov2') -- cgit v1.2.1 From 19f1e1d1ca178bae6a9d7ea746fda4dd674c8e9b Mon Sep 17 00:00:00 2001 From: Christine Lytwynec Date: Thu, 23 Apr 2015 16:25:08 -0400 Subject: Update tests --HG-- branch : combine-from-multiple-dirs --- tests/test_cmdline.py | 9 ++++++++- tests/test_data.py | 49 +++++++++++++++++++++++++------------------------ 2 files changed, 33 insertions(+), 25 deletions(-) (limited to 'tests') diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 54d84197..b616ed51 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -213,13 +213,20 @@ class CmdLineTest(BaseCmdLineTest): """) def test_combine(self): - # coverage combine + # coverage combine with args self.cmd_executes("combine datadir1", """\ .coverage() .load() .combine(["datadir1"]) .save() """) + # coverage combine without args + self.cmd_executes("combine", """\ + .coverage() + .load() + .combine(None) + .save() + """) def test_debug(self): self.cmd_help("debug", "What information would you like: data, sys?") diff --git a/tests/test_data.py b/tests/test_data.py index 9156e5a9..ef57f0cb 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -158,28 +158,29 @@ class DataTest(CoverageTest): ) self.assert_measured_files(covdata3, ['./a.py', './sub/b.py']) + +class DataTestInTempDir(DataTest): + """Test cases for coverage.data.""" + + run_in_temp_dir = True + def test_combining_from_different_directories(self): - try: - covdata1 = CoverageData() - covdata1.add_line_data(DATA_1) - os.makedirs('cov1') - covdata1.write_file('cov1/.coverage.1') - - covdata2 = CoverageData() - covdata2.add_line_data(DATA_2) - os.makedirs('cov2') - covdata2.write_file('cov2/.coverage.2') - - covdata3 = CoverageData() - covdata3.combine_parallel_data(data_dirs=[ - 'cov1/', - 'cov2/', - ]) - - self.assert_summary(covdata3, SUMMARY_1_2) - self.assert_measured_files(covdata3, MEASURED_FILES_1_2) - finally: - # Use shutil here because if something goes wrong above, these - # dirs may not be empty and os.rmdir would fail to remove them. - shutil.rmtree('cov1') - shutil.rmtree('cov2') + covdata1 = CoverageData() + covdata1.add_line_data(DATA_1) + os.makedirs('cov1') + covdata1.write_file('cov1/.coverage.1') + + covdata2 = CoverageData() + covdata2.add_line_data(DATA_2) + os.makedirs('cov2') + covdata2.write_file('cov2/.coverage.2') + + covdata3 = CoverageData() + covdata3.combine_parallel_data(data_dirs=[ + 'cov1/', + 'cov2/', + ]) + + self.assert_summary(covdata3, SUMMARY_1_2) + self.assert_measured_files(covdata3, MEASURED_FILES_1_2) + -- cgit v1.2.1