backport fix for #713
This commit is contained in:
parent
f04e01f55f
commit
0c05b906d4
1
AUTHORS
1
AUTHORS
|
@ -41,6 +41,7 @@ Mark Abramowitz
|
||||||
Martijn Faassen
|
Martijn Faassen
|
||||||
Nicolas Delaby
|
Nicolas Delaby
|
||||||
Piotr Banaszkiewicz
|
Piotr Banaszkiewicz
|
||||||
|
Punyashloka Biswal
|
||||||
Ralf Schmitt
|
Ralf Schmitt
|
||||||
Ronny Pfannschmidt
|
Ronny Pfannschmidt
|
||||||
Ross Lawley
|
Ross Lawley
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
2.7.2 (compared to 2.7.1)
|
2.7.2 (compared to 2.7.1)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
- fix issue713: JUnit XML reports for doctest failures.
|
||||||
|
Thanks Punyashloka Biswal.
|
||||||
|
|
||||||
- fix issue735: assertion failures on debug versions of Python 3.4+
|
- fix issue735: assertion failures on debug versions of Python 3.4+
|
||||||
Thanks Benjamin Peterson.
|
Thanks Benjamin Peterson.
|
||||||
|
|
||||||
|
|
|
@ -123,10 +123,12 @@ class LogXML(object):
|
||||||
Junit.skipped(message="xfail-marked test passes unexpectedly"))
|
Junit.skipped(message="xfail-marked test passes unexpectedly"))
|
||||||
self.skipped += 1
|
self.skipped += 1
|
||||||
else:
|
else:
|
||||||
if isinstance(report.longrepr, (unicode, str)):
|
if hasattr(report.longrepr, "reprcrash"):
|
||||||
|
message = report.longrepr.reprcrash.message
|
||||||
|
elif isinstance(report.longrepr, (unicode, str)):
|
||||||
message = report.longrepr
|
message = report.longrepr
|
||||||
else:
|
else:
|
||||||
message = report.longrepr.reprcrash.message
|
message = str(report.longrepr)
|
||||||
message = bin_xml_escape(message)
|
message = bin_xml_escape(message)
|
||||||
fail = Junit.failure(message=message)
|
fail = Junit.failure(message=message)
|
||||||
fail.append(bin_xml_escape(report.longrepr))
|
fail.append(bin_xml_escape(report.longrepr))
|
||||||
|
|
|
@ -354,3 +354,19 @@ class TestDoctests:
|
||||||
reprec = testdir.inline_run(p, "--doctest-modules",
|
reprec = testdir.inline_run(p, "--doctest-modules",
|
||||||
"--doctest-ignore-import-errors")
|
"--doctest-ignore-import-errors")
|
||||||
reprec.assertoutcome(skipped=1, failed=1, passed=0)
|
reprec.assertoutcome(skipped=1, failed=1, passed=0)
|
||||||
|
|
||||||
|
def test_junit_report_for_doctest(self, testdir):
|
||||||
|
"""
|
||||||
|
#713: Fix --junit-xml option when used with --doctest-modules.
|
||||||
|
"""
|
||||||
|
p = testdir.makepyfile("""
|
||||||
|
def foo():
|
||||||
|
'''
|
||||||
|
>>> 1 + 1
|
||||||
|
3
|
||||||
|
'''
|
||||||
|
pass
|
||||||
|
""")
|
||||||
|
reprec = testdir.inline_run(p, "--doctest-modules",
|
||||||
|
"--junit-xml=junit.xml")
|
||||||
|
reprec.assertoutcome(failed=1)
|
||||||
|
|
Loading…
Reference in New Issue