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

Reply via email to