Hello community,

here is the log from the commit of package python3-unittest-xml-reporting for 
openSUSE:Factory checked in at 2015-04-15 16:24:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-unittest-xml-reporting (Old)
 and      /work/SRC/openSUSE:Factory/.python3-unittest-xml-reporting.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-unittest-xml-reporting"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python3-unittest-xml-reporting/python3-unittest-xml-reporting.changes
    2015-02-16 07:36:36.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.python3-unittest-xml-reporting.new/python3-unittest-xml-reporting.changes
       2015-04-15 16:25:00.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Apr 14 22:56:25 UTC 2015 - [email protected]
+
+- update to version 1.12.0:
+  * add xmlrunner.extra to packages.
+  * try to fix #79 by compiling the regex differently
+  * fix issue #77 by adding an addSubTest method to result
+  * make test for issue #77 more thorough
+  * issue #77: add tests for unittest.TestCase.subTest
+
+-------------------------------------------------------------------

Old:
----
  unittest-xml-reporting-1.11.0.tar.gz

New:
----
  unittest-xml-reporting-1.12.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-unittest-xml-reporting.spec ++++++
--- /var/tmp/diff_new_pack.a8xhQv/_old  2015-04-15 16:25:01.000000000 +0200
+++ /var/tmp/diff_new_pack.a8xhQv/_new  2015-04-15 16:25:01.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-unittest-xml-reporting
-Version:        1.11.0
+Version:        1.12.0
 Release:        0
 Url:            http://github.com/danielfm/unittest-xml-reporting/tree/master/
 Summary:        PyUnit-based test runner with JUnit like XML reporting

++++++ unittest-xml-reporting-1.11.0.tar.gz -> 
unittest-xml-reporting-1.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/PKG-INFO 
new/unittest-xml-reporting-1.12.0/PKG-INFO
--- old/unittest-xml-reporting-1.11.0/PKG-INFO  2015-02-13 09:23:29.000000000 
+0100
+++ new/unittest-xml-reporting-1.12.0/PKG-INFO  2015-04-14 23:48:16.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: unittest-xml-reporting
-Version: 1.11.0
+Version: 1.12.0
 Summary: unittest-based test runner with Ant/JUnit like XML reporting.
 Home-page: http://github.com/xmlrunner/unittest-xml-reporting/tree/master/
 Author: Daniel Fernandes Martins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/setup.py 
new/unittest-xml-reporting-1.12.0/setup.py
--- old/unittest-xml-reporting-1.11.0/setup.py  2014-12-12 11:06:59.000000000 
+0100
+++ new/unittest-xml-reporting-1.12.0/setup.py  2015-04-14 23:43:46.000000000 
+0200
@@ -41,7 +41,7 @@
         'Topic :: Software Development :: Libraries :: Python Modules',
         'Topic :: Software Development :: Testing'
     ],
-    packages = ['xmlrunner'],
+    packages = ['xmlrunner', 'xmlrunner.extra'],
     zip_safe = False,
     include_package_data = True,
     install_requires = install_requires,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/tests/testsuite.py 
new/unittest-xml-reporting-1.12.0/tests/testsuite.py
--- old/unittest-xml-reporting-1.11.0/tests/testsuite.py        2015-02-13 
08:28:41.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/tests/testsuite.py        2015-04-14 
23:43:46.000000000 +0200
@@ -169,6 +169,33 @@
         testsuite_output = self.stream.getvalue()
         self.assertIn('should be printed', testsuite_output)
 
+    @unittest.skipIf(not hasattr(unittest.TestCase,'subTest'),
+        'unittest.TestCase.subTest not present.')
+    def test_unittest_subTest(self):
+        # test for issue #77
+        class DummySubTest(unittest.TestCase):
+            def test_subTest(self):
+                for i in range(2):
+                    with self.subTest(i=i):
+                        self.fail('this is a subtest.')
+        outdir = BytesIO()
+        runner = xmlrunner.XMLTestRunner(
+            stream=self.stream, output=outdir, verbosity=self.verbosity,
+            **self.runner_kwargs)
+        suite = unittest.TestSuite()
+        suite.addTest(DummySubTest('test_subTest'))
+        runner.run(suite)
+        outdir.seek(0)
+        output = outdir.read()
+        self.assertIn(
+            b'<testcase classname="tests.testsuite.DummySubTest" '
+            b'name="test_subTest (i=0)"',
+            output)
+        self.assertIn(
+            b'<testcase classname="tests.testsuite.DummySubTest" '
+            b'name="test_subTest (i=1)"',
+            output)
+
     def test_xmlrunner_pass(self):
         suite = unittest.TestSuite()
         suite.addTest(self.DummyTest('test_pass'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/unittest-xml-reporting-1.11.0/unittest_xml_reporting.egg-info/PKG-INFO 
new/unittest-xml-reporting-1.12.0/unittest_xml_reporting.egg-info/PKG-INFO
--- old/unittest-xml-reporting-1.11.0/unittest_xml_reporting.egg-info/PKG-INFO  
2015-02-13 09:23:28.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/unittest_xml_reporting.egg-info/PKG-INFO  
2015-04-14 23:48:13.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: unittest-xml-reporting
-Version: 1.11.0
+Version: 1.12.0
 Summary: unittest-based test runner with Ant/JUnit like XML reporting.
 Home-page: http://github.com/xmlrunner/unittest-xml-reporting/tree/master/
 Author: Daniel Fernandes Martins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/unittest-xml-reporting-1.11.0/unittest_xml_reporting.egg-info/SOURCES.txt 
new/unittest-xml-reporting-1.12.0/unittest_xml_reporting.egg-info/SOURCES.txt
--- 
old/unittest-xml-reporting-1.11.0/unittest_xml_reporting.egg-info/SOURCES.txt   
    2015-02-13 09:23:29.000000000 +0100
+++ 
new/unittest-xml-reporting-1.12.0/unittest_xml_reporting.egg-info/SOURCES.txt   
    2015-04-14 23:48:16.000000000 +0200
@@ -12,7 +12,10 @@
 xmlrunner/__init__.py
 xmlrunner/__main__.py
 xmlrunner/builder.py
+xmlrunner/dirtyxml.py
 xmlrunner/result.py
 xmlrunner/runner.py
 xmlrunner/unittest.py
-xmlrunner/version.py
\ No newline at end of file
+xmlrunner/version.py
+xmlrunner/extra/__init__.py
+xmlrunner/extra/djangotestrunner.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/xmlrunner/dirtyxml.py 
new/unittest-xml-reporting-1.12.0/xmlrunner/dirtyxml.py
--- old/unittest-xml-reporting-1.11.0/xmlrunner/dirtyxml.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/xmlrunner/dirtyxml.py     2015-03-17 
16:52:52.000000000 +0100
@@ -0,0 +1,38 @@
+# 
+# Matches invalid XML1.0 unicode characters, like control characters:
+# http://www.w3.org/TR/2006/REC-xml-20060816/#charsets
+# For Jython users, see http://bugs.jython.org/issue1836
+#
+
+#     INVALID_XML_1_0_UNICODE_RE = re.compile(
+#         u'[\u0000-\u0008\u000B\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]',
+#         re.UNICODE
+#     )
+
+import sys
+import re
+from six import unichr
+
+_illegal_unichrs = [
+    (0x00, 0x08), (0x0B, 0x0C), (0x0E, 0x1F), 
+    (0x7F, 0x84), (0x86, 0x9F), 
+    (0xFDD0, 0xFDDF), (0xFFFE, 0xFFFF),
+] 
+if sys.maxunicode >= 0x10000:  # not narrow build 
+    _illegal_unichrs.extend([
+        (0x1FFFE, 0x1FFFF), (0x2FFFE, 0x2FFFF), 
+        (0x3FFFE, 0x3FFFF), (0x4FFFE, 0x4FFFF), 
+        (0x5FFFE, 0x5FFFF), (0x6FFFE, 0x6FFFF), 
+        (0x7FFFE, 0x7FFFF), (0x8FFFE, 0x8FFFF), 
+        (0x9FFFE, 0x9FFFF), (0xAFFFE, 0xAFFFF), 
+        (0xBFFFE, 0xBFFFF), (0xCFFFE, 0xCFFFF), 
+        (0xDFFFE, 0xDFFFF), (0xEFFFE, 0xEFFFF), 
+        (0xFFFFE, 0xFFFFF), (0x10FFFE, 0x10FFFF),
+    ]) 
+
+_illegal_ranges = [
+    "%s-%s" % (unichr(low), unichr(high))
+    for (low, high) in _illegal_unichrs
+]
+
+INVALID_XML_1_0_UNICODE_RE = re.compile(u'[%s]' % u''.join(_illegal_ranges)) 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/unittest-xml-reporting-1.11.0/xmlrunner/extra/djangotestrunner.py 
new/unittest-xml-reporting-1.12.0/xmlrunner/extra/djangotestrunner.py
--- old/unittest-xml-reporting-1.11.0/xmlrunner/extra/djangotestrunner.py       
1970-01-01 01:00:00.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/xmlrunner/extra/djangotestrunner.py       
2015-02-13 08:47:20.000000000 +0100
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+
+"""
+Custom Django test runner that runs the tests using the
+XMLTestRunner class.
+
+This script shows how to use the XMLTestRunner in a Django project. To learn
+how to configure a custom TestRunner in a Django project, please read the
+Django docs website.
+"""
+
+import xmlrunner
+import django
+from django.conf import settings
+
+# future compatibilty with django
+# in django 1.6 DiscoverRunner bacame default and
+# DjangoTestSuiteRunner became depecated, will be removed in 1.8
+if django.VERSION < (1, 6):
+    from django.test.simple import DjangoTestSuiteRunner
+    _DjangoRunner = DjangoTestSuiteRunner
+else:
+    from django.test.runner import DiscoverRunner
+    _DjangoRunner = DiscoverRunner
+
+
+class XMLTestRunner(_DjangoRunner):
+
+    def run_suite(self, suite, **kwargs):
+        verbosity = getattr(settings, 'TEST_OUTPUT_VERBOSE', 1)
+        # XXX: verbosity = self.verbosity
+        if isinstance(verbosity, bool):
+            verbosity = (1, 2)[verbosity]
+        descriptions = getattr(settings, 'TEST_OUTPUT_DESCRIPTIONS', False)
+        output = getattr(settings, 'TEST_OUTPUT_DIR', '.')
+        return xmlrunner.XMLTestRunner(
+            verbosity=verbosity, descriptions=descriptions,
+            output=output, failfast=self.failfast).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/xmlrunner/result.py 
new/unittest-xml-reporting-1.12.0/xmlrunner/result.py
--- old/unittest-xml-reporting-1.11.0/xmlrunner/result.py       2015-02-13 
09:01:18.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/xmlrunner/result.py       2015-04-14 
23:43:46.000000000 +0200
@@ -5,6 +5,7 @@
 import six
 import re
 from os import path
+from six import unichr
 from six.moves import StringIO
 
 from .unittest import TestResult, _TextTestResult
@@ -12,10 +13,32 @@
 
 # Matches invalid XML1.0 unicode characters, like control characters:
 # http://www.w3.org/TR/2006/REC-xml-20060816/#charsets
-INVALID_XML_1_0_UNICODE_RE = re.compile(
-    u'[\x00-\x08\x0B\x0C\x0E-\x1F\uD800-\uDFFF\uFFFE\uFFFF]',
-    re.UNICODE
-)
+# 
http://stackoverflow.com/questions/1707890/fast-way-to-filter-illegal-xml-unicode-chars-in-python
+
+_illegal_unichrs = [
+    (0x00, 0x08), (0x0B, 0x0C), (0x0E, 0x1F), 
+    (0x7F, 0x84), (0x86, 0x9F), 
+    (0xFDD0, 0xFDDF), (0xFFFE, 0xFFFF),
+] 
+if sys.maxunicode >= 0x10000:  # not narrow build 
+    _illegal_unichrs.extend([
+        (0x1FFFE, 0x1FFFF), (0x2FFFE, 0x2FFFF), 
+        (0x3FFFE, 0x3FFFF), (0x4FFFE, 0x4FFFF), 
+        (0x5FFFE, 0x5FFFF), (0x6FFFE, 0x6FFFF), 
+        (0x7FFFE, 0x7FFFF), (0x8FFFE, 0x8FFFF), 
+        (0x9FFFE, 0x9FFFF), (0xAFFFE, 0xAFFFF), 
+        (0xBFFFE, 0xBFFFF), (0xCFFFE, 0xCFFFF), 
+        (0xDFFFE, 0xDFFFF), (0xEFFFE, 0xEFFFF), 
+        (0xFFFFE, 0xFFFFF), (0x10FFFE, 0x10FFFF),
+    ]) 
+
+_illegal_ranges = [
+    "%s-%s" % (unichr(low), unichr(high))
+    for (low, high) in _illegal_unichrs
+]
+
+INVALID_XML_1_0_UNICODE_RE = re.compile(u'[%s]' % u''.join(_illegal_ranges)) 
+
 
 
 def xml_safe_unicode(base, encoding='utf-8'):
@@ -64,7 +87,7 @@
     # Possible test outcomes
     (SUCCESS, FAILURE, ERROR, SKIP) = range(4)
 
-    def __init__(self, test_result, test_method, outcome=SUCCESS, err=None):
+    def __init__(self, test_result, test_method, outcome=SUCCESS, err=None, 
subTest=None):
         self.test_result = test_result
         self.outcome = outcome
         self.elapsed_time = 0
@@ -81,6 +104,8 @@
 
         self.test_name = testcase_name(test_method)
         self.test_id = test_method.id()
+        if subTest:
+            self.test_id = subTest.id()
 
     def id(self):
         return self.test_id
@@ -212,6 +237,18 @@
         ))
         self._prepare_callback(testinfo, [], 'ERROR', 'E')
 
+    def addSubTest(self, testcase, test, err):
+        """
+        Called when a subTest method raises an error.
+        """
+        self._save_output_data()
+        testinfo = _TestInfo(self, testcase, _TestInfo.ERROR, err, 
subTest=test)
+        self.errors.append((
+            testinfo,
+            self._exc_info_to_string(err, testcase)
+        ))
+        self._prepare_callback(testinfo, [], 'ERROR', 'E')
+
     def addSkip(self, test, reason):
         """
         Called when a test method was skipped.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unittest-xml-reporting-1.11.0/xmlrunner/version.py 
new/unittest-xml-reporting-1.12.0/xmlrunner/version.py
--- old/unittest-xml-reporting-1.11.0/xmlrunner/version.py      2015-02-13 
09:15:35.000000000 +0100
+++ new/unittest-xml-reporting-1.12.0/xmlrunner/version.py      2015-04-14 
23:45:24.000000000 +0200
@@ -1,2 +1,2 @@
 
-__version__ = '1.11.0'
+__version__ = '1.12.0'


Reply via email to