Exemple #1
0
    def test_combining_with_aliases(self):
        covdata1 = CoverageData()
        covdata1.add_lines({
            '/home/ned/proj/src/a.py': {1: None, 2: None},
            '/home/ned/proj/src/sub/b.py': {3: None},
            '/home/ned/proj/src/template.html': {10: None},
        })
        covdata1.add_file_tracers({
            '/home/ned/proj/src/template.html': 'html.plugin',
        })
        self.data_files.write(covdata1, suffix='1')

        covdata2 = CoverageData()
        covdata2.add_lines({
            r'c:\ned\test\a.py': {4: None, 5: None},
            r'c:\ned\test\sub\b.py': {3: None, 6: None},
        })
        self.data_files.write(covdata2, suffix='2')

        covdata3 = CoverageData()
        aliases = PathAliases()
        aliases.add("/home/ned/proj/src/", "./")
        aliases.add(r"c:\ned\test", "./")
        self.data_files.combine_parallel_data(covdata3, aliases=aliases)

        apy = canonical_filename('./a.py')
        sub_bpy = canonical_filename('./sub/b.py')
        template_html = canonical_filename('./template.html')

        self.assert_line_counts(covdata3, {apy: 4, sub_bpy: 2, template_html: 1}, fullpath=True)
        self.assert_measured_files(covdata3, [apy, sub_bpy, template_html])
        self.assertEqual(covdata3.file_tracer(template_html), 'html.plugin')
Exemple #2
0
    def test_combining_with_aliases(self):
        covdata1 = CoverageData()
        covdata1.set_lines({
            '/home/ned/proj/src/a.py': {1: None, 2: None},
            '/home/ned/proj/src/sub/b.py': {3: None},
            '/home/ned/proj/src/template.html': {10: None},
        })
        covdata1.set_file_tracers({
            '/home/ned/proj/src/template.html': 'html.plugin',
        })
        self.data_files.write(covdata1, suffix='1')

        covdata2 = CoverageData()
        covdata2.set_lines({
            r'c:\ned\test\a.py': {4: None, 5: None},
            r'c:\ned\test\sub\b.py': {3: None, 6: None},
        })
        self.data_files.write(covdata2, suffix='2')

        covdata3 = CoverageData()
        aliases = PathAliases()
        aliases.add("/home/ned/proj/src/", "./")
        aliases.add(r"c:\ned\test", "./")
        self.data_files.combine_parallel_data(covdata3, aliases=aliases)

        apy = canonical_filename('./a.py')
        sub_bpy = canonical_filename('./sub/b.py')
        template_html = canonical_filename('./template.html')

        self.assert_line_counts(covdata3, {apy: 4, sub_bpy: 2, template_html: 1}, fullpath=True)
        self.assert_measured_files(covdata3, [apy, sub_bpy, template_html])
        self.assertEqual(covdata3.file_tracer(template_html), 'html.plugin')
    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)

        apy = canonical_filename('./a.py')
        sub_bpy = canonical_filename('./sub/b.py')

        self.assert_summary(
            covdata3, { apy: 4, sub_bpy: 2, }, fullpath=True
            )
        self.assert_measured_files(covdata3, [apy,sub_bpy])
Exemple #4
0
 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')
     aliases = PathAliases()
     aliases.add('/ned/home/*/src/', './mysrc')
     self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
    def combine(self, data_paths=None):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        `data_paths` is a list of files or directories from which data should
        be combined. If no list is passed, then the data files from the
        directory indicated by the current data file (probably the current
        directory) will be combined.

        .. versionadded:: 4.0
            The `data_paths` parameter.

        """
        self._init()
        self.get_data()

        aliases = None
        if self.config.paths:
            aliases = PathAliases()
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)

        self.data_files.combine_parallel_data(self.data, aliases=aliases, data_paths=data_paths)
Exemple #6
0
 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')
     aliases = PathAliases()
     aliases.add('/ned/home/*/src/', './mysrc')
     self.assertEqual(aliases.map('/ned/home/foo/src/a.py'), './mysrc/a.py')
Exemple #7
0
    def combine(self, data_paths=None):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        `data_paths` is a list of files or directories from which data should
        be combined. If no list is passed, then the data files from the
        directory indicated by the current data file (probably the current
        directory) will be combined.

        .. versionadded:: 4.0
            The `data_paths` parameter.

        """
        self._init()
        self.get_data()

        aliases = None
        if self.config.paths:
            aliases = PathAliases()
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)

        self.data_files.combine_parallel_data(self.data,
                                              aliases=aliases,
                                              data_paths=data_paths)
Exemple #8
0
 def test_multiple_wildcard(self):
     aliases = PathAliases()
     aliases.add('/home/jenkins/*/a/*/b/*/django', './django')
     self.assert_mapped(
         aliases,
         '/home/jenkins/xx/a/yy/b/zz/django/foo/bar.py',
         './django/foo/bar.py'
     )
Exemple #9
0
    def test_wildcard(self, rel_yn):
        aliases = PathAliases(relative=rel_yn)
        aliases.add('/ned/home/*/src', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py', relative=rel_yn)

        aliases = PathAliases(relative=rel_yn)
        aliases.add('/ned/home/*/src/', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py', relative=rel_yn)
def apply_path_aliases(cov, alias_map):
    """Adjust filenames in coverage data."""
    data = CoverageData()
    aliases = PathAliases()
    for k, v in alias_map.items():
        aliases.add(k, v)
    data.update(cov.data, aliases)
    cov.data = data
Exemple #11
0
def create_path_aliases_from_coverage(coverage):
    aliases = PathAliases()
    if coverage and coverage.config.paths:
        for paths in coverage.config.paths.values():
            result = paths[0]
            for pattern in paths[1:]:
                aliases.add(pattern, result)
    return aliases
Exemple #12
0
    def test_wildcard(self):
        aliases = PathAliases()
        aliases.add('/ned/home/*/src', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')

        aliases = PathAliases()
        aliases.add('/ned/home/*/src/', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
Exemple #13
0
def create_path_aliases_from_coverage(coverage):
    aliases = PathAliases()
    if coverage and coverage.config.paths:
        for paths in coverage.config.paths.values():
            result = paths[0]
            for pattern in paths[1:]:
                aliases.add(pattern, result)
    return aliases
Exemple #14
0
    def test_wildcard(self):
        aliases = PathAliases()
        aliases.add('/ned/home/*/src', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')

        aliases = PathAliases()
        aliases.add('/ned/home/*/src/', './mysrc')
        self.assert_mapped(aliases, '/ned/home/foo/src/a.py', './mysrc/a.py')
Exemple #15
0
    def test_dot(self, dirname):
        aliases = PathAliases()
        aliases.add(dirname, '/the/source')
        the_file = os.path.join(dirname, 'a.py')
        the_file = os.path.expanduser(the_file)
        the_file = os.path.abspath(os.path.realpath(the_file))

        assert '~' not in the_file  # to be sure the test is pure.
        self.assert_mapped(aliases, the_file, '/the/source/a.py')
Exemple #16
0
    def test_combining_with_aliases(self):
        covdata1 = CoverageData(suffix='1')
        covdata1.add_lines({
            '/home/ned/proj/src/a.py': {
                1: None,
                2: None
            },
            '/home/ned/proj/src/sub/b.py': {
                3: None
            },
            '/home/ned/proj/src/template.html': {
                10: None
            },
        })
        covdata1.add_file_tracers({
            '/home/ned/proj/src/template.html':
            'html.plugin',
        })
        covdata1.write()

        covdata2 = CoverageData(suffix='2')
        covdata2.add_lines({
            r'c:\ned\test\a.py': {
                4: None,
                5: None
            },
            r'c:\ned\test\sub\b.py': {
                3: None,
                6: None
            },
        })
        covdata2.write()

        self.assert_file_count(".coverage.*", 2)

        covdata3 = CoverageData()
        aliases = PathAliases()
        aliases.add("/home/ned/proj/src/", "./")
        aliases.add(r"c:\ned\test", "./")
        combine_parallel_data(covdata3, aliases=aliases)
        self.assert_file_count(".coverage.*", 0)
        # covdata3 hasn't been written yet. Should this file exist or not?
        #self.assert_exists(".coverage")

        apy = canonical_filename('./a.py')
        sub_bpy = canonical_filename('./sub/b.py')
        template_html = canonical_filename('./template.html')

        self.assert_line_counts(covdata3, {
            apy: 4,
            sub_bpy: 2,
            template_html: 1
        },
                                fullpath=True)
        self.assert_measured_files(covdata3, [apy, sub_bpy, template_html])
        assert covdata3.file_tracer(template_html) == 'html.plugin'
Exemple #17
0
    def combine(self):
        aliases = None
        if self.config.paths:
            aliases = PathAliases(self.file_locator)
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)

        self.data.combine_parallel_data(aliases=aliases)
Exemple #18
0
    def test_dot(self):
        for d in ('.', '..', '../other', '~'):
            aliases = PathAliases()
            aliases.add(d, '/the/source')
            the_file = os.path.join(d, 'a.py')
            the_file = os.path.expanduser(the_file)
            the_file = os.path.abspath(os.path.realpath(the_file))

            assert '~' not in the_file  # to be sure the test is pure.
            self.assertEqual(aliases.map(the_file), '/the/source/a.py')
    def combine(self):
        aliases = None
        if self.config.paths:
            aliases = PathAliases(self.file_locator)
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)

        self.data.combine_parallel_data(aliases=aliases)
Exemple #20
0
    def test_dot(self):
        for d in ('.', '..', '../other', '~'):
            aliases = PathAliases()
            aliases.add(d, '/the/source')
            the_file = os.path.join(d, 'a.py')
            the_file = os.path.expanduser(the_file)
            the_file = os.path.abspath(os.path.realpath(the_file))

            assert '~' not in the_file  # to be sure the test is pure.
            self.assert_mapped(aliases, the_file, '/the/source/a.py')
def _get_coverage_aliases(cov):
    """Retrieve path aliases from coverage.Coverage object."""
    from coverage.files import PathAliases

    aliases = None
    if cov.config.paths:
        aliases = PathAliases()
        for paths in cov.config.paths.values():
            result = paths[0]
            for pattern in paths[1:]:
                aliases.add(pattern, result)
    return aliases
Exemple #22
0
 def test_windows_root_paths(self):
     aliases = PathAliases()
     aliases.add('X:\\', '/tmp/src')
     self.assert_mapped(
         aliases,
         "X:\\a\\file.py",
         "/tmp/src/a/file.py"
     )
     self.assert_mapped(
         aliases,
         "X:\\file.py",
         "/tmp/src/file.py"
     )
Exemple #23
0
    def test_linux_on_windows(self):
        # https://github.com/nedbat/coveragepy/issues/618
        lin = "*/project/module/"
        win = "*\\project\\module\\"

        # Try the paths in both orders.
        for paths in [[lin, win], [win, lin]]:
            aliases = PathAliases()
            for path in paths:
                aliases.add(path, "project\\module")
            self.assert_mapped(
                aliases,
                "C:/a/path/somewhere/coveragepy_test/project/module/tests/file.py",
                "project\\module\\tests\\file.py")
Exemple #24
0
    def test_linux_on_windows(self):
        # https://bitbucket.org/ned/coveragepy/issues/618/problem-when-combining-windows-generated
        lin = "*/project/module/"
        win = "*\\project\\module\\"

        # Try the paths in both orders.
        for paths in [[lin, win], [win, lin]]:
            aliases = PathAliases()
            for path in paths:
                aliases.add(path, "project\\module")
            self.assert_mapped(
                aliases,
                "C:/a/path/somewhere/coveragepy_test/project/module/tests/file.py",
                "project\\module\\tests\\file.py")
Exemple #25
0
 def test_windows_root_paths(self, rel_yn):
     aliases = PathAliases(relative=rel_yn)
     aliases.add('X:\\', '/tmp/src')
     self.assert_mapped(
         aliases,
         "X:\\a\\file.py",
         "/tmp/src/a/file.py",
         relative=rel_yn,
     )
     self.assert_mapped(
         aliases,
         "X:\\file.py",
         "/tmp/src/file.py",
         relative=rel_yn,
     )
def fix_paths(site_pkg_dir, cov_data_file):
    site_pkg_dir = os.path.abspath(site_pkg_dir)

    paths = PathAliases()
    paths.add(site_pkg_dir, "src")

    old_cov_file = NamedTemporaryFile()
    old_cov_file.close()
    shutil.move(cov_data_file, old_cov_file.name)

    old_coverage_data = CoverageData(old_cov_file.name)
    old_coverage_data.read()
    new_coverage_data = CoverageData(cov_data_file)
    new_coverage_data.update(old_coverage_data, aliases=paths)
    new_coverage_data.write()
Exemple #27
0
    def test_dot(self):
        cases = ['.', '..', '../other', '~']
        if not env.WINDOWS:
            # The root test case was added for the manylinux Docker images,
            # and I'm not sure how it should work on Windows, so skip it.
            cases += ['/']
        for d in cases:
            aliases = PathAliases()
            aliases.add(d, '/the/source')
            the_file = os.path.join(d, 'a.py')
            the_file = os.path.expanduser(the_file)
            the_file = os.path.abspath(os.path.realpath(the_file))

            assert '~' not in the_file  # to be sure the test is pure.
            self.assert_mapped(aliases, the_file, '/the/source/a.py')
Exemple #28
0
    def test_dot(self):
        cases = ['.', '..', '../other', '~']
        if not env.WINDOWS:
            # The root test case was added for the manylinux Docker images,
            # and I'm not sure how it should work on Windows, so skip it.
            cases += ['/']
        for d in cases:
            aliases = PathAliases()
            aliases.add(d, '/the/source')
            the_file = os.path.join(d, 'a.py')
            the_file = os.path.expanduser(the_file)
            the_file = os.path.abspath(os.path.realpath(the_file))

            assert '~' not in the_file  # to be sure the test is pure.
            self.assert_mapped(aliases, the_file, '/the/source/a.py')
Exemple #29
0
    def test_linux_on_windows(self):
        # https://bitbucket.org/ned/coveragepy/issues/618/problem-when-combining-windows-generated
        lin = "*/project/module/"
        win = "*\\project\\module\\"

        # Try the paths in both orders.
        for paths in [[lin, win], [win, lin]]:
            aliases = PathAliases()
            for path in paths:
                aliases.add(path, "project\\module")
            self.assert_mapped(
                aliases,
                "C:/a/path/somewhere/coveragepy_test/project/module/tests/file.py",
                "project\\module\\tests\\file.py"
            )
Exemple #30
0
    def combine(self):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        """
        aliases = None
        if self.config.paths:
            aliases = PathAliases(self.file_locator)
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)
        self.data.combine_parallel_data(aliases=aliases)
Exemple #31
0
    def combine(self):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        """
        aliases = None
        if self.config.paths:
            aliases = PathAliases(self.file_locator)
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)
        self.data.combine_parallel_data(aliases=aliases)
Exemple #32
0
    def test_windows_on_linux(self, rel_yn):
        # https://github.com/nedbat/coveragepy/issues/618
        lin = "*/project/module/"
        win = "*\\project\\module\\"

        # Try the paths in both orders.
        for paths in [[lin, win], [win, lin]]:
            aliases = PathAliases(relative=rel_yn)
            for path in paths:
                aliases.add(path, "project/module")
            self.assert_mapped(
                aliases,
                "C:\\a\\path\\somewhere\\coveragepy_test\\project\\module\\tests\\file.py",
                "project/module/tests/file.py",
                relative=rel_yn,
            )
Exemple #33
0
    def combine(self, data_paths=None, strict=False, keep=False):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        `data_paths` is a list of files or directories from which data should
        be combined. If no list is passed, then the data files from the
        directory indicated by the current data file (probably the current
        directory) will be combined.

        If `strict` is true, then it is an error to attempt to combine when
        there are no data files to combine.

        If `keep` is true, then original input data files won't be deleted.

        .. versionadded:: 4.0
            The `data_paths` parameter.

        .. versionadded:: 4.3
            The `strict` parameter.

        .. versionadded: 5.5
            The `keep` parameter.
        """
        self._init()
        self._init_data(suffix=None)
        self._post_init()
        self.get_data()

        aliases = None
        if self.config.paths:
            aliases = PathAliases()
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)

        combine_parallel_data(
            self._data,
            aliases=aliases,
            data_paths=data_paths,
            strict=strict,
            keep=keep,
            message=self._message,
        )
Exemple #34
0
    def test_paths_are_os_corrected(self):
        aliases = PathAliases()
        aliases.add('/home/ned/*/src', './mysrc')
        aliases.add(r'c:\ned\src', './mysrc')
        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')
        self.assert_mapped(aliases, r'/home/ned/foo/src/sub/a.py', r'.\mysrc\sub\a.py')
Exemple #35
0
    def test_paths_are_os_corrected(self):
        aliases = PathAliases()
        aliases.add('/home/ned/*/src', './mysrc')
        aliases.add(r'c:\ned\src', './mysrc')
        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')
        self.assert_mapped(aliases, r'/home/ned/foo/src/sub/a.py', r'.\mysrc\sub\a.py')
Exemple #36
0
    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"])
Exemple #37
0
    def combine(self, data_dirs=None):
        """Combine together a number of similarly-named coverage data files.

        All coverage data files whose name starts with `data_file` (from the
        coverage() constructor) will be read, and combined together into the
        current measurements.

        `data_dirs` is a list of directories from which data files should be
        combined. If no list is passed, then the data files from the current
        directory will be combined.

        """
        self._init()
        aliases = None
        if self.config.paths:
            aliases = PathAliases()
            for paths in self.config.paths.values():
                result = paths[0]
                for pattern in paths[1:]:
                    aliases.add(pattern, result)
        self.data.combine_parallel_data(aliases=aliases, data_dirs=data_dirs)
Exemple #38
0
 def test_cant_have_wildcard_at_end(self):
     aliases = PathAliases()
     msg = "Pattern must not end with wildcards."
     with pytest.raises(CoverageException, match=msg):
         aliases.add("/ned/home/*", "fooey")
     with pytest.raises(CoverageException, match=msg):
         aliases.add("/ned/home/*/", "fooey")
     with pytest.raises(CoverageException, match=msg):
         aliases.add("/ned/home/*/*/", "fooey")
Exemple #39
0
 def test_cant_have_wildcard_at_end(self):
     aliases = PathAliases()
     msg = "Pattern must not end with wildcards."
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*", "fooey")
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*/", "fooey")
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*/*/", "fooey")
Exemple #40
0
 def test_cant_have_wildcard_at_end(self):
     aliases = PathAliases()
     msg = "Pattern must not end with wildcards."
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*", "fooey")
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*/", "fooey")
     with self.assertRaisesRegex(CoverageException, msg):
         aliases.add("/ned/home/*/*/", "fooey")
Exemple #41
0
    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'])
Exemple #42
0
 def test_no_accidental_munging(self):
     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')
Exemple #43
0
 def test_leading_wildcard(self):
     aliases = PathAliases()
     aliases.add('*/d1', './mysrc1')
     aliases.add('*/d2', './mysrc2')
     self.assert_mapped(aliases, '/foo/bar/d1/x.py', './mysrc1/x.py')
     self.assert_mapped(aliases, '/foo/bar/d2/y.py', './mysrc2/y.py')
Exemple #44
0
 def test_no_accidental_munging(self):
     aliases = PathAliases()
     aliases.add(r'c:\Zoo\boo', 'src/')
     aliases.add('/home/ned$', 'src/')
     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')
Exemple #45
0
 def test_multiple_patterns(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     aliases.add('/lib/*/libsrc', './mylib')
     self.assert_mapped(aliases, '/home/foo/src/a.py', './mysrc/a.py')
     self.assert_mapped(aliases, '/lib/foo/libsrc/a.py', './mylib/a.py')
Exemple #46
0
 def test_no_accidental_match(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     self.assert_not_mapped(aliases, '/home/foo/srcetc')
Exemple #47
0
 def test_nomatch(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     self.assert_not_mapped(aliases, '/home/foo/a.py')
Exemple #48
0
 def test_nomatch(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     self.assertEqual(aliases.map('/home/foo/a.py'), '/home/foo/a.py')
Exemple #49
0
 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')
Exemple #50
0
 def test_no_accidental_match(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     self.assertEqual(aliases.map('/home/foo/srcetc'), '/home/foo/srcetc')
Exemple #51
0
 def test_nomatch(self):
     aliases = PathAliases()
     aliases.add('/home/*/src', './mysrc')
     self.assertEqual(aliases.map('/home/foo/a.py'), '/home/foo/a.py')