4 new commits in pytest:
https://bitbucket.org/hpk42/pytest/commits/ea7c9699dc47/
Changeset: ea7c9699dc47
User: jaapz
Date: 2013-05-08 15:15:43
Summary: Fix junitxml generation when using special characters in
parametrized tests.
Affected #: 2 files
diff -r 17f3904c6e8e7c55575ac20dcf06e90124f17842 -r
ea7c9699dc473a5aa8d875f5b948f02185bc785a _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -36,7 +36,8 @@
# | [#x10000-#x10FFFF]
_legal_chars = (0x09, 0x0A, 0x0d)
_legal_ranges = (
- (0x20, 0xD7FF),
+ (0x20, 0x7E),
+ (0x80, 0xD7FF),
(0xE000, 0xFFFD),
(0x10000, 0x10FFFF),
)
@@ -103,7 +104,7 @@
classnames.insert(0, self.prefix)
self.tests.append(Junit.testcase(
classname=".".join(classnames),
- name=names[-1],
+ name=bin_xml_escape(names[-1]),
time=getattr(report, 'duration', 0)
))
https://bitbucket.org/hpk42/pytest/commits/e91ec1fd68ec/
Changeset: e91ec1fd68ec
User: jaapz
Date: 2013-05-08 16:11:55
Summary: Fix pytest.py permissions.
Affected #: 1 file
https://bitbucket.org/hpk42/pytest/commits/c1547d89c7fe/
Changeset: c1547d89c7fe
User: jaapz
Date: 2013-05-09 21:16:57
Summary: Implemented a test for xml control character fail.
Affected #: 1 file
diff -r e91ec1fd68ec9252537442c6d2cd1e75c6212112 -r
c1547d89c7fe3c319286b06e6f33c4f229368186 testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -450,3 +450,16 @@
assert result.ret == 0
assert testdir.tmpdir.join("a/x.xml").check()
+def test_escaped_parametrized_names_xml(testdir):
+ testdir.makepyfile("""
+ import pytest
+ @pytest.mark.parametrize('char', ["\\x00"])
+ def test_func(char):
+ assert char
+ """)
+ result, dom = runandparse(testdir)
+ assert result.ret == 0
+ node = dom.getElementsByTagName("testcase")[0]
+ assert_attr(node,
+ name="test_func[#x00]")
+
https://bitbucket.org/hpk42/pytest/commits/1a0e829d03d9/
Changeset: 1a0e829d03d9
User: hpk42
Date: 2013-05-10 08:06:31
Summary: Merged in jaapz/pytest-xml-escape-control-chars (pull request #32)
Fix junitxml generation when using special characters in parametrized tests.
Affected #: 2 files
diff -r fb4c4834bcf6c95238b608ea2304a53caea3eb9d -r
1a0e829d03d9fd537b7be24bb86a2c7eeee532a7 _pytest/junitxml.py
--- a/_pytest/junitxml.py
+++ b/_pytest/junitxml.py
@@ -36,7 +36,8 @@
# | [#x10000-#x10FFFF]
_legal_chars = (0x09, 0x0A, 0x0d)
_legal_ranges = (
- (0x20, 0xD7FF),
+ (0x20, 0x7E),
+ (0x80, 0xD7FF),
(0xE000, 0xFFFD),
(0x10000, 0x10FFFF),
)
@@ -103,7 +104,7 @@
classnames.insert(0, self.prefix)
self.tests.append(Junit.testcase(
classname=".".join(classnames),
- name=names[-1],
+ name=bin_xml_escape(names[-1]),
time=getattr(report, 'duration', 0)
))
diff -r fb4c4834bcf6c95238b608ea2304a53caea3eb9d -r
1a0e829d03d9fd537b7be24bb86a2c7eeee532a7 testing/test_junitxml.py
--- a/testing/test_junitxml.py
+++ b/testing/test_junitxml.py
@@ -450,3 +450,16 @@
assert result.ret == 0
assert testdir.tmpdir.join("a/x.xml").check()
+def test_escaped_parametrized_names_xml(testdir):
+ testdir.makepyfile("""
+ import pytest
+ @pytest.mark.parametrize('char', ["\\x00"])
+ def test_func(char):
+ assert char
+ """)
+ result, dom = runandparse(testdir)
+ assert result.ret == 0
+ node = dom.getElementsByTagName("testcase")[0]
+ assert_attr(node,
+ name="test_func[#x00]")
+
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]
http://mail.python.org/mailman/listinfo/pytest-commit