1 new commit in pytest:

https://bitbucket.org/pytest-dev/pytest/commits/7bad072348c4/
Changeset:   7bad072348c4
User:        RonnyPfannschmidt
Date:        2015-06-06 09:50:37+00:00
Summary:     Merged in 
jpvanhal/pytest/include-setup-teardown-duration-in-junitxml (pull request #287)

Include setup and teardown in junitxml test durations
Affected #:  2 files

diff -r 61d638f89acbda40a49ccadcb4aebe06783200df -r 
7bad072348c45897c52d31eb2765a97e11721eba _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -96,7 +96,7 @@
         self.tests.append(Junit.testcase(
             classname=".".join(classnames),
             name=bin_xml_escape(names[-1]),
-            time=getattr(report, 'duration', 0)
+            time=0
         ))
 
     def _write_captured_output(self, report):
@@ -168,18 +168,18 @@
         self._write_captured_output(report)
 
     def pytest_runtest_logreport(self, report):
+        if report.when == "setup":
+            self._opentestcase(report)
+        self.tests[-1].attr.time += getattr(report, 'duration', 0)
         if report.passed:
             if report.when == "call": # ignore setup/teardown
-                self._opentestcase(report)
                 self.append_pass(report)
         elif report.failed:
-            self._opentestcase(report)
             if report.when != "call":
                 self.append_error(report)
             else:
                 self.append_failure(report)
         elif report.skipped:
-            self._opentestcase(report)
             self.append_skipped(report)
 
     def pytest_collectreport(self, report):

diff -r 61d638f89acbda40a49ccadcb4aebe06783200df -r 
7bad072348c45897c52d31eb2765a97e11721eba testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -44,6 +44,10 @@
     def test_timing_function(self, testdir):
         testdir.makepyfile("""
             import time, pytest
+            def setup_module():
+                time.sleep(0.01)
+            def teardown_module():
+                time.sleep(0.01)
             def test_sleep():
                 time.sleep(0.01)
         """)
@@ -51,7 +55,7 @@
         node = dom.getElementsByTagName("testsuite")[0]
         tnode = node.getElementsByTagName("testcase")[0]
         val = tnode.getAttributeNode("time").value
-        assert float(val) >= 0.001
+        assert float(val) >= 0.03
 
     def test_setup_error(self, testdir):
         testdir.makepyfile("""

Repository URL: https://bitbucket.org/pytest-dev/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