diff options
Diffstat (limited to 'test/test_data.py')
-rw-r--r-- | test/test_data.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/test/test_data.py b/test/test_data.py index 298078a2..5d0d400f 100644 --- a/test/test_data.py +++ b/test/test_data.py @@ -4,6 +4,7 @@ import os, sys from coverage.backward import pickle from coverage.data import CoverageData +from coverage.files import PathAliases sys.path.insert(0, os.path.split(__file__)[0]) # Force relative import for Py3k from coveragetest import CoverageTest @@ -23,12 +24,13 @@ ARC_DATA_3 = { 'x.py': {(1,2):None, (2,3):None}, 'y.py': {(17,23):None} } X_PY_ARCS_3 = [(1,2), (2,3)] Y_PY_ARCS_3 = [(17,23)] + class DataTest(CoverageTest): """Test cases for coverage.data.""" - def assert_summary(self, covdata, summary): + def assert_summary(self, covdata, summary, fullpath=False): """Check that the summary of `covdata` is `summary`.""" - self.assertEqual(covdata.summary(), summary) + self.assertEqual(covdata.summary(fullpath), summary) def assert_measured_files(self, covdata, measured): """Check that `covdata`'s measured files are `measured`.""" @@ -120,3 +122,26 @@ class DataTest(CoverageTest): arcs = data['arcs'] self.assertSameElements(arcs['x.py'], X_PY_ARCS_3) self.assertSameElements(arcs['y.py'], Y_PY_ARCS_3) + + def test_combining_with_aliases(self): + covdata1 = CoverageData() + covdata1.add_line_data({ + '/home/ned/proj/src/a.py': {1:None, 2:None}, + '/home/ned/proj/src/sub/b.py': {3:None}, + }) + covdata1.write(suffix='1') + + covdata2 = CoverageData() + covdata2.add_line_data({ + r'c:\ned\test\a.py': {4:None, 5:None}, + r'c:\ned\test\sub\b.py': {6:None}, + }) + covdata2.write(suffix='2') + + covdata3 = CoverageData() + aliases = PathAliases() + aliases.add("/home/ned/proj/src/", "./") + aliases.add(r"c:\ned\test", "./") + covdata3.combine_parallel_data(aliases=aliases) + self.assert_summary(covdata3, { './a.py':4, './sub/b.py':2 }, fullpath=True) + self.assert_measured_files(covdata3, [ './a.py', './sub/b.py' ]) |