1 new commit in pytest:

https://bitbucket.org/hpk42/pytest/changeset/a233e29b1941/
changeset:   a233e29b1941
user:        hpk42
date:        2012-05-22 17:18:04
summary:     fix issue 144 - wrong classname in junitxml
affected #:  4 files

diff -r 3109649e400927e2b89ad41127ad39c282680126 -r 
a233e29b19411b9906980dc963c374fa180c3875 CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -12,6 +12,7 @@
 - fix issue #141: switch from the deceased paste.pocoo.org to bpaste.net
 - fix issue #143: call unconfigure/sessionfinish always when
   configure/sessionstart where called
+- fix issue #144: better mangle test ids to junitxml classnames
 
 Changes between 2.2.2 and 2.2.3
 ----------------------------------------


diff -r 3109649e400927e2b89ad41127ad39c282680126 -r 
a233e29b19411b9906980dc963c374fa180c3875 _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -81,6 +81,11 @@
         config.pluginmanager.unregister(xml)
 
 
+def mangle_testnames(names):
+    names = [x.replace(".py", "") for x in names if x != '()']
+    names[0] = names[0].replace("/", '.')
+    return names
+
 class LogXML(object):
     def __init__(self, logfile, prefix):
         logfile = os.path.expanduser(os.path.expandvars(logfile))
@@ -91,9 +96,7 @@
         self.failed = self.errors = 0
 
     def _opentestcase(self, report):
-        names = report.nodeid.split("::")
-        names[0] = names[0].replace("/", '.')
-        names = [x.replace(".py", "") for x in names if x != "()"]
+        names = mangle_testnames(report.nodeid.split("::"))
         classnames = names[:-1]
         if self.prefix:
             classnames.insert(0, self.prefix)


diff -r 3109649e400927e2b89ad41127ad39c282680126 -r 
a233e29b19411b9906980dc963c374fa180c3875 doc/announce/release-2.2.4.txt
--- a/doc/announce/release-2.2.4.txt
+++ b/doc/announce/release-2.2.4.txt
@@ -34,4 +34,5 @@
 - fix issue #141: switch from the deceased paste.pocoo.org to bpaste.net
 - fix issue #143: call unconfigure/sessionfinish always when
   configure/sessionstart where called
+- fix issue #144: better mangle test ids to junitxml classnames
 


diff -r 3109649e400927e2b89ad41127ad39c282680126 -r 
a233e29b19411b9906980dc963c374fa180c3875 testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -279,6 +279,13 @@
         if not sys.platform.startswith("java"):
             assert "hx" in fnode.toxml()
 
+def test_mangle_testnames():
+    from _pytest.junitxml import mangle_testnames
+    names = ["a/pything.py", "Class", "()", "method"]
+    newnames = mangle_testnames(names)
+    assert newnames == ["a.pything", "Class", "method"]
+
+
 class TestNonPython:
     def test_summing_simple(self, testdir):
         testdir.makeconftest("""

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.
_______________________________________________
py-svn mailing list
py-svn@codespeak.net
http://codespeak.net/mailman/listinfo/py-svn

Reply via email to