diff options
Diffstat (limited to 'tests/test_files.py')
-rw-r--r-- | tests/test_files.py | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/test_files.py b/tests/test_files.py index 4baac072..9e49628d 100644 --- a/tests/test_files.py +++ b/tests/test_files.py @@ -69,7 +69,7 @@ class FilesTest(CoverageTest): assert files.canonical_filename('sub/proj1/file1.py') == self.abs_path('file1.py') @pytest.mark.parametrize( - ["curdir", "sep"], [ + "curdir, sep", [ ("/", "/"), ("X:\\", "\\"), ] @@ -81,6 +81,21 @@ class FilesTest(CoverageTest): files.set_relative_directory() assert files.relative_directory() == curdir + @pytest.mark.parametrize( + "to_make, to_check, answer", [ + ("a/b/c/foo.py", "a/b/c/foo.py", True), + ("a/b/c/foo.py", "a/b/c/bar.py", False), + ("src/files.zip", "src/files.zip/foo.py", True), + ("src/files.egg", "src/files.egg/foo.py", True), + ("src/files.pex", "src/files.pex/foo.py", True), + ("src/files.zip", "src/morefiles.zip/foo.py", False), + ("src/files.pex", "src/files.pex/zipfiles/files.zip/foo.py", True), + ] + ) + def test_source_exists(self, to_make, to_check, answer): + self.make_file(to_make, "") + assert files.source_exists(to_check) == answer + @pytest.mark.parametrize("original, flat", [ ("abc.py", "abc_py"), @@ -117,6 +132,7 @@ def globs_to_regex_params( Everything is yielded so that `test_globs_to_regex` can call `globs_to_regex` once and check one result. + """ pat_id = "|".join(patterns) for text in matches: @@ -578,6 +594,19 @@ class PathAliasesTest(CoverageTest): self.assert_mapped(aliases, the_file, '/the/source/a.py') +class PathAliasesRealFilesTest(CoverageTest): + """Tests for coverage/files.py:PathAliases using real files.""" + + def test_aliasing_zip_files(self): + self.make_file("src/zipfiles/code.zip", "fake zip, doesn't matter") + aliases = PathAliases() + aliases.add("*/d1", "./src") + aliases.add("*/d2", "./src") + + expected = files.canonical_filename("src/zipfiles/code.zip/p1.py") + assert aliases.map("tox/d1/zipfiles/code.zip/p1.py") == expected + + class FindPythonFilesTest(CoverageTest): """Tests of `find_python_files`.""" |