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 pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit