diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-24 07:13:42 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2018-08-24 07:13:42 -0400 |
commit | c4b2392dd51b7f976972afb00f01d4618c523cff (patch) | |
tree | 7c77b420d4eec7ac628393663c67c0e9bc2c66f7 /tests/test_xml.py | |
parent | 8a337f91e6444c027771741a56636a56389706e3 (diff) | |
parent | dd5b0cc88ebe4528abaa7cdf0b3fd516fb1f7e01 (diff) | |
download | python-coveragepy-git-c4b2392dd51b7f976972afb00f01d4618c523cff.tar.gz |
Merge branch 'nedbat/data-sqlite'
Diffstat (limited to 'tests/test_xml.py')
-rw-r--r-- | tests/test_xml.py | 96 |
1 files changed, 56 insertions, 40 deletions
diff --git a/tests/test_xml.py b/tests/test_xml.py index acb82a48..65c1a48b 100644 --- a/tests/test_xml.py +++ b/tests/test_xml.py @@ -13,8 +13,7 @@ from coverage.backward import import_local_file from coverage.files import abs_file from tests.coveragetest import CoverageTest -from tests.goldtest import CoverageGoldTest -from tests.goldtest import change_dir, compare +from tests.goldtest import change_dir, compare, gold_path from tests.helpers import re_line, re_lines @@ -310,25 +309,26 @@ def clean(text, scrub=None): return text -class XmlGoldTest(CoverageGoldTest): +class XmlGoldTest(CoverageTest): """Tests of XML reporting that use gold files.""" - # TODO: this should move out of html. - root_dir = 'tests/farm/html' - def test_a_xml_1(self): - self.output_dir("out/xml_1") + self.make_file("a.py", """\ + if 1 < 2: + # Needed a < to look at HTML entities. + a = 3 + else: + a = 4 + """) - with change_dir("src"): - # pylint: disable=import-error - cov = coverage.Coverage() - cov.start() - import a # pragma: nested - cov.stop() # pragma: nested - cov.xml_report(a, outfile="../out/xml_1/coverage.xml") - source_path = coverage.files.relative_directory().rstrip(r"\/") + cov = coverage.Coverage() + cov.start() + import a # pragma: nested # pylint: disable=import-error + cov.stop() # pragma: nested + cov.xml_report(a, outfile="coverage.xml") + source_path = coverage.files.relative_directory().rstrip(r"\/") - compare("gold_x_xml", "out/xml_1", scrubs=[ + compare(".", gold_path("html/gold_x_xml"), left_extra=True, scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), (r'<source>\s*.*?\s*</source>', '<source>%s</source>' % source_path), @@ -336,18 +336,28 @@ class XmlGoldTest(CoverageGoldTest): ]) def test_a_xml_2(self): - self.output_dir("out/xml_2") - - with change_dir("src"): - # pylint: disable=import-error - cov = coverage.Coverage(config_file="run_a_xml_2.ini") - cov.start() - import a # pragma: nested - cov.stop() # pragma: nested - cov.xml_report(a) - source_path = coverage.files.relative_directory().rstrip(r"\/") - - compare("gold_x_xml", "out/xml_2", scrubs=[ + self.make_file("a.py", """\ + if 1 < 2: + # Needed a < to look at HTML entities. + a = 3 + else: + a = 4 + """) + + self.make_file("run_a_xml_2.ini", """\ + # Put all the XML output in xml_2 + [xml] + output = xml_2/coverage.xml + """) + + cov = coverage.Coverage(config_file="run_a_xml_2.ini") + cov.start() + import a # pragma: nested # pylint: disable=import-error + cov.stop() # pragma: nested + cov.xml_report(a) + source_path = coverage.files.relative_directory().rstrip(r"\/") + + compare("xml_2", gold_path("html/gold_x_xml"), scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), (r'<source>\s*.*?\s*</source>', '<source>%s</source>' % source_path), @@ -355,18 +365,24 @@ class XmlGoldTest(CoverageGoldTest): ]) def test_y_xml_branch(self): - self.output_dir("out/y_xml_branch") - - with change_dir("src"): - # pylint: disable=import-error - cov = coverage.Coverage(branch=True) - cov.start() - import y # pragma: nested - cov.stop() # pragma: nested - cov.xml_report(y, outfile="../out/y_xml_branch/coverage.xml") - source_path = coverage.files.relative_directory().rstrip(r"\/") - - compare("gold_y_xml_branch", "out/y_xml_branch", scrubs=[ + self.make_file("y.py", """\ + def choice(x): + if x < 2: + return 3 + else: + return 4 + + assert choice(1) == 3 + """) + + cov = coverage.Coverage(branch=True) + cov.start() + import y # pragma: nested # pylint: disable=import-error + cov.stop() # pragma: nested + cov.xml_report(y, outfile="y_xml_branch/coverage.xml") + source_path = coverage.files.relative_directory().rstrip(r"\/") + + compare("y_xml_branch", gold_path("html/gold_y_xml_branch"), scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), (r'<source>\s*.*?\s*</source>', '<source>%s</source>' % source_path), |