|
15 | 15 | import pytest
|
16 | 16 |
|
17 | 17 | import coverage
|
18 |
| -from coverage import Coverage |
| 18 | +from coverage import Coverage, env |
19 | 19 | from coverage.exceptions import NoDataError
|
20 | 20 | from coverage.files import abs_file
|
21 | 21 | from coverage.misc import import_local_file
|
@@ -476,28 +476,16 @@ def test_source_prefix(self) -> None:
|
476 | 476 | dom = ElementTree.parse("coverage.xml")
|
477 | 477 | self.assert_source(dom, "src")
|
478 | 478 |
|
479 |
| - def test_relative_source(self) -> None: |
| 479 | + @pytest.mark.parametrize("trail", ["", "/", "\\"]) |
| 480 | + def test_relative_source(self, trail: str) -> None: |
| 481 | + if trail == "\\" and not env.WINDOWS: |
| 482 | + pytest.skip("trailing backslash is only for Windows") |
480 | 483 | self.make_file("src/mod.py", "print(17)")
|
481 |
| - cov = coverage.Coverage(source=["src"]) |
482 |
| - cov.set_option("run:relative_files", True) |
483 |
| - self.start_import_stop(cov, "mod", modfile="src/mod.py") |
484 |
| - cov.xml_report() |
485 |
| - |
486 |
| - with open("coverage.xml") as x: |
487 |
| - print(x.read()) |
488 |
| - dom = ElementTree.parse("coverage.xml") |
489 |
| - elts = dom.findall(".//sources/source") |
490 |
| - assert [elt.text for elt in elts] == ["src"] |
491 |
| - |
492 |
| - def test_relative_source_trailing_slash(self) -> None: |
493 |
| - self.make_file("src/mod.py", "print(17)") |
494 |
| - cov = coverage.Coverage(source=["src/"]) |
| 484 | + cov = coverage.Coverage(source=[f"src{trail}"]) |
495 | 485 | cov.set_option("run:relative_files", True)
|
496 | 486 | self.start_import_stop(cov, "mod", modfile="src/mod.py")
|
497 | 487 | cov.xml_report()
|
498 | 488 |
|
499 |
| - with open("coverage.xml") as x: |
500 |
| - print(x.read()) |
501 | 489 | dom = ElementTree.parse("coverage.xml")
|
502 | 490 | elts = dom.findall(".//sources/source")
|
503 | 491 | assert [elt.text for elt in elts] == ["src"]
|
|
0 commit comments