summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-06-13 21:44:43 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-06-13 21:44:43 -0400
commit4dc7c52ffa20e9b8444f61092950618066f1a736 (patch)
tree3f03b9e22afbbad4f2e481d52573b3a3ba72b9a9 /tests
parentf9a5b120b91e62f86bcd12e54a92fda675534200 (diff)
downloadpython-coveragepy-git-4dc7c52ffa20e9b8444f61092950618066f1a736.tar.gz
Remove FileLocator from PathAliases. Now it always produces canonicalized paths.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_data.py10
-rw-r--r--tests/test_files.py38
2 files changed, 30 insertions, 18 deletions
diff --git a/tests/test_data.py b/tests/test_data.py
index 776f7b59..ff8255ba 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -4,7 +4,7 @@ import os
from coverage.backward import pickle
from coverage.data import CoverageData
-from coverage.files import PathAliases
+from coverage.files import PathAliases, canonical_filename
from tests.coveragetest import CoverageTest
@@ -156,10 +156,14 @@ class DataTest(DataTestHelpers, CoverageTest):
aliases.add("/home/ned/proj/src/", "./")
aliases.add(r"c:\ned\test", "./")
covdata3.combine_parallel_data(aliases=aliases)
+
+ apy = canonical_filename('./a.py')
+ sub_bpy = canonical_filename('./sub/b.py')
+
self.assert_summary(
- covdata3, {'./a.py': 4, './sub/b.py': 2}, fullpath=True
+ covdata3, { apy: 4, sub_bpy: 2, }, fullpath=True
)
- self.assert_measured_files(covdata3, ['./a.py', './sub/b.py'])
+ self.assert_measured_files(covdata3, [apy,sub_bpy])
class DataTestInTempDir(DataTestHelpers, CoverageTest):
diff --git a/tests/test_files.py b/tests/test_files.py
index 483ede9f..6549c0ad 100644
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -147,34 +147,44 @@ class PathAliasesTest(CoverageTest):
run_in_temp_dir = False
+ def assert_mapped(self, aliases, inp, out):
+ """Assert that `inp` mapped through `aliases` produces `out`.
+
+ `out` is canonicalized first, since aliases always produce
+ canonicalized paths.
+
+ """
+ self.assertEqual(aliases.map(inp), files.canonical_filename(out))
+
def test_noop(self):
aliases = PathAliases()
- self.assertEqual(aliases.map('/ned/home/a.py'), '/ned/home/a.py')
+ self.assert_mapped(aliases, '/ned/home/a.py', '/ned/home/a.py')
def test_nomatch(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/home/foo/a.py'), '/home/foo/a.py')
+ self.assert_mapped(aliases, '/home/foo/a.py', '/home/foo/a.py')
def test_wildcard(self):
aliases = PathAliases()
aliases.add('/ned/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
+ self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
+
aliases = PathAliases()
aliases.add('/ned/home/*/src/', './mysrc')
- self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
+ self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
def test_no_accidental_match(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
- self.assertEqual(aliases.map('/home/foo/srcetc'), '/home/foo/srcetc')
+ self.assert_mapped(aliases, '/home/foo/srcetc', '/home/foo/srcetc')
def test_multiple_patterns(self):
aliases = PathAliases()
aliases.add('/home/*/src', './mysrc')
aliases.add('/lib/*/libsrc', './mylib')
- self.assertEqual(aliases.map('/home/foo/src/a.py'), './mysrc/a.py')
- self.assertEqual(aliases.map('/lib/foo/libsrc/a.py'), './mylib/a.py')
+ self.assert_mapped(aliases, '/home/foo/src/a.py', './mysrc/a.py')
+ self.assert_mapped(aliases, '/lib/foo/libsrc/a.py', './mylib/a.py')
def test_cant_have_wildcard_at_end(self):
aliases = PathAliases()
@@ -190,28 +200,26 @@ class PathAliasesTest(CoverageTest):
aliases = PathAliases()
aliases.add(r'c:\Zoo\boo', 'src/')
aliases.add('/home/ned$', 'src/')
- self.assertEqual(aliases.map(r'c:\Zoo\boo\foo.py'), 'src/foo.py')
- self.assertEqual(aliases.map(r'/home/ned$/foo.py'), 'src/foo.py')
+ self.assert_mapped(aliases, r'c:\Zoo\boo\foo.py', 'src/foo.py')
+ self.assert_mapped(aliases, r'/home/ned$/foo.py', 'src/foo.py')
def test_paths_are_os_corrected(self):
aliases = PathAliases()
aliases.add('/home/ned/*/src', './mysrc')
aliases.add(r'c:\ned\src', './mysrc')
- mapped = aliases.map(r'C:\Ned\src\sub\a.py')
- self.assertEqual(mapped, './mysrc/sub/a.py')
+ self.assert_mapped(aliases, r'C:\Ned\src\sub\a.py', './mysrc/sub/a.py')
aliases = PathAliases()
aliases.add('/home/ned/*/src', r'.\mysrc')
aliases.add(r'c:\ned\src', r'.\mysrc')
- mapped = aliases.map(r'/home/ned/foo/src/sub/a.py')
- self.assertEqual(mapped, r'.\mysrc\sub\a.py')
+ self.assert_mapped(aliases, r'/home/ned/foo/src/sub/a.py', r'.\mysrc\sub\a.py')
def test_leading_wildcard(self):
aliases = PathAliases()
aliases.add('*/d1', './mysrc1')
aliases.add('*/d2', './mysrc2')
- self.assertEqual(aliases.map('/foo/bar/d1/x.py'), './mysrc1/x.py')
- self.assertEqual(aliases.map('/foo/bar/d2/y.py'), './mysrc2/y.py')
+ self.assert_mapped(aliases, '/foo/bar/d1/x.py', './mysrc1/x.py')
+ self.assert_mapped(aliases, '/foo/bar/d2/y.py', './mysrc2/y.py')
class RelativePathAliasesTest(CoverageTest):