summaryrefslogtreecommitdiff
path: root/tests/test_api.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-11-06 17:29:09 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-11-06 18:06:44 -0400
commit1a616da57258bb3a1d6a0fbd05adfcb76155c49c (patch)
tree4d8577be5c1f87f569cbd68c95e1b2dfefda0376 /tests/test_api.py
parent2f5c7aefcd33da77e7cf83945634d6169226ec6b (diff)
downloadpython-coveragepy-git-1a616da57258bb3a1d6a0fbd05adfcb76155c49c.tar.gz
fix: remapping paths during combining needs to follow relative_files=True. #1147
Diffstat (limited to 'tests/test_api.py')
-rw-r--r--tests/test_api.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/tests/test_api.py b/tests/test_api.py
index 3b34afd7..36305c5a 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -23,7 +23,8 @@ from coverage.files import abs_file, relative_filename
from coverage.misc import import_local_file
from tests.coveragetest import CoverageTest, TESTS_DIR, UsingModulesMixin
-from tests.helpers import assert_count_equal, assert_coverage_warnings, change_dir, nice_file
+from tests.helpers import assert_count_equal, assert_coverage_warnings
+from tests.helpers import change_dir, nice_file, os_sep
class ApiTest(CoverageTest):
@@ -1151,16 +1152,19 @@ class RelativePathTest(CoverageTest):
assert res == 100
def test_combine_relative(self):
- self.make_file("dir1/foo.py", "a = 1")
- self.make_file("dir1/.coveragerc", """\
+ self.make_file("foo.py", """\
+ import mod
+ a = 1
+ """)
+ self.make_file("lib/mod/__init__.py", "x = 1")
+ self.make_file(".coveragerc", """\
[run]
relative_files = true
""")
- with change_dir("dir1"):
- cov = coverage.Coverage(source=["."], data_suffix=True)
- self.start_import_stop(cov, "foo")
- cov.save()
- shutil.move(glob.glob(".coverage.*")[0], "..")
+ sys.path.append("lib")
+ cov = coverage.Coverage(source=["."], data_suffix=True)
+ self.start_import_stop(cov, "foo")
+ cov.save()
self.make_file("dir2/bar.py", "a = 1")
self.make_file("dir2/.coveragerc", """\
@@ -1176,6 +1180,10 @@ class RelativePathTest(CoverageTest):
self.make_file(".coveragerc", """\
[run]
relative_files = true
+ [paths]
+ source =
+ modsrc
+ */mod
""")
cov = coverage.Coverage()
cov.combine()
@@ -1183,10 +1191,11 @@ class RelativePathTest(CoverageTest):
self.make_file("foo.py", "a = 1")
self.make_file("bar.py", "a = 1")
+ self.make_file("modsrc/__init__.py", "x = 1")
cov = coverage.Coverage()
cov.load()
files = cov.get_data().measured_files()
- assert files == {'foo.py', 'bar.py'}
+ assert files == {'foo.py', 'bar.py', os_sep('modsrc/__init__.py')}
res = cov.report()
assert res == 100