2 new commits in pytest:
https://bitbucket.org/hpk42/pytest/commits/bdfb2bb4066a/
Changeset: bdfb2bb4066a
Branch: junit-verbose-failures
User: tush home
Date: 2015-01-19 22:45:26+00:00
Summary: Failure message in junit xml report now are more informative
Affected #: 2 files
diff -r d91265465608bd3777ab0c882e5d68335d7472dd -r
bdfb2bb4066af8e97a341dddf7c595f6d9e05035 _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -123,7 +123,12 @@
Junit.skipped(message="xfail-marked test passes unexpectedly"))
self.skipped += 1
else:
- fail = Junit.failure(message="test failure")
+ if isinstance(report.longrepr, (unicode, str)):
+ message = report.longrepr
+ else:
+ message = report.longrepr.reprcrash.message
+ message = bin_xml_escape(message)
+ fail = Junit.failure(message=message)
fail.append(bin_xml_escape(report.longrepr))
self.append(fail)
self.failed += 1
diff -r d91265465608bd3777ab0c882e5d68335d7472dd -r
bdfb2bb4066af8e97a341dddf7c595f6d9e05035 testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -150,7 +150,7 @@
classname="test_failure_function",
name="test_fail")
fnode = tnode.getElementsByTagName("failure")[0]
- assert_attr(fnode, message="test failure")
+ assert_attr(fnode, message="ValueError: 42")
assert "ValueError" in fnode.toxml()
systemout = fnode.nextSibling
assert systemout.tagName == "system-out"
@@ -159,6 +159,19 @@
assert systemerr.tagName == "system-err"
assert "hello-stderr" in systemerr.toxml()
+ def test_failure_verbose_message(self, testdir):
+ testdir.makepyfile("""
+ import sys
+ def test_fail():
+ assert 0, "An error"
+ """)
+
+ result, dom = runandparse(testdir)
+ node = dom.getElementsByTagName("testsuite")[0]
+ tnode = node.getElementsByTagName("testcase")[0]
+ fnode = tnode.getElementsByTagName("failure")[0]
+ assert_attr(fnode, message="AssertionError: An error assert 0")
+
def test_failure_escape(self, testdir):
testdir.makepyfile("""
import pytest
@@ -371,7 +384,7 @@
#classname="test_collect_error",
name="myfile.xyz")
fnode = tnode.getElementsByTagName("failure")[0]
- assert_attr(fnode, message="test failure")
+ assert_attr(fnode, message="custom item runtest failed")
assert "custom item runtest failed" in fnode.toxml()
https://bitbucket.org/hpk42/pytest/commits/dc7e08bec905/
Changeset: dc7e08bec905
User: RonnyPfannschmidt
Date: 2015-02-22 18:13:07+00:00
Summary: Merged in tush/pytest/junit-verbose-failures (pull request #240)
Made failure message in junit xml report more informative
Affected #: 2 files
diff -r 181d08e03c11f34aac5f3358a92cc4d1d5557963 -r
dc7e08bec9055b8a0ecc5575499847371e2b9cfb _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -123,7 +123,12 @@
Junit.skipped(message="xfail-marked test passes unexpectedly"))
self.skipped += 1
else:
- fail = Junit.failure(message="test failure")
+ if isinstance(report.longrepr, (unicode, str)):
+ message = report.longrepr
+ else:
+ message = report.longrepr.reprcrash.message
+ message = bin_xml_escape(message)
+ fail = Junit.failure(message=message)
fail.append(bin_xml_escape(report.longrepr))
self.append(fail)
self.failed += 1
diff -r 181d08e03c11f34aac5f3358a92cc4d1d5557963 -r
dc7e08bec9055b8a0ecc5575499847371e2b9cfb testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -150,7 +150,7 @@
classname="test_failure_function",
name="test_fail")
fnode = tnode.getElementsByTagName("failure")[0]
- assert_attr(fnode, message="test failure")
+ assert_attr(fnode, message="ValueError: 42")
assert "ValueError" in fnode.toxml()
systemout = fnode.nextSibling
assert systemout.tagName == "system-out"
@@ -159,6 +159,19 @@
assert systemerr.tagName == "system-err"
assert "hello-stderr" in systemerr.toxml()
+ def test_failure_verbose_message(self, testdir):
+ testdir.makepyfile("""
+ import sys
+ def test_fail():
+ assert 0, "An error"
+ """)
+
+ result, dom = runandparse(testdir)
+ node = dom.getElementsByTagName("testsuite")[0]
+ tnode = node.getElementsByTagName("testcase")[0]
+ fnode = tnode.getElementsByTagName("failure")[0]
+ assert_attr(fnode, message="AssertionError: An error assert 0")
+
def test_failure_escape(self, testdir):
testdir.makepyfile("""
import pytest
@@ -371,7 +384,7 @@
#classname="test_collect_error",
name="myfile.xyz")
fnode = tnode.getElementsByTagName("failure")[0]
- assert_attr(fnode, message="test failure")
+ assert_attr(fnode, message="custom item runtest failed")
assert "custom item runtest failed" in fnode.toxml()
Repository URL: https://bitbucket.org/hpk42/pytest/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
pytest-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pytest-commit