[Python-checkins] cpython (merge 3.3 -> default): #17691: merge with 3.3.

ezio.melotti python-checkins at python.org
Sat Jun 8 23:10:26 CEST 2013


http://hg.python.org/cpython/rev/d1b5e41acf28
changeset:   84059:d1b5e41acf28
parent:      84057:d6ad9d7468f7
parent:      84058:a2e093e98d45
user:        Ezio Melotti <ezio.melotti at gmail.com>
date:        Sun Jun 09 00:10:04 2013 +0300
summary:
  #17691: merge with 3.3.

files:
  Lib/test/test_univnewlines.py |  37 +++++++++-------------
  Misc/NEWS                     |   3 +
  2 files changed, 19 insertions(+), 21 deletions(-)


diff --git a/Lib/test/test_univnewlines.py b/Lib/test/test_univnewlines.py
--- a/Lib/test/test_univnewlines.py
+++ b/Lib/test/test_univnewlines.py
@@ -30,7 +30,13 @@
 DATA_MIXED = "\n".join(DATA_TEMPLATE) + "\r"
 DATA_SPLIT = [x + "\n" for x in DATA_TEMPLATE]
 
-class TestGenericUnivNewlines(unittest.TestCase):
+class CTest:
+    open = io.open
+
+class PyTest:
+    open = staticmethod(pyio.open)
+
+class TestGenericUnivNewlines:
     # use a class variable DATA to define the data to write to the file
     # and a class variable NEWLINE to set the expected newlines value
     READMODE = 'r'
@@ -85,10 +91,14 @@
 class TestCRNewlines(TestGenericUnivNewlines):
     NEWLINE = '\r'
     DATA = DATA_CR
+class CTestCRNewlines(CTest, TestCRNewlines, unittest.TestCase): pass
+class PyTestCRNewlines(PyTest, TestCRNewlines, unittest.TestCase): pass
 
 class TestLFNewlines(TestGenericUnivNewlines):
     NEWLINE = '\n'
     DATA = DATA_LF
+class CTestLFNewlines(CTest, TestLFNewlines, unittest.TestCase): pass
+class PyTestLFNewlines(PyTest, TestLFNewlines, unittest.TestCase): pass
 
 class TestCRLFNewlines(TestGenericUnivNewlines):
     NEWLINE = '\r\n'
@@ -100,29 +110,14 @@
             data = fp.readline()
             pos = fp.tell()
         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
+class CTestCRLFNewlines(CTest, TestCRLFNewlines, unittest.TestCase): pass
+class PyTestCRLFNewlines(PyTest, TestCRLFNewlines, unittest.TestCase): pass
 
 class TestMixedNewlines(TestGenericUnivNewlines):
     NEWLINE = ('\r', '\n')
     DATA = DATA_MIXED
-
-
-def test_main():
-    base_tests = (TestCRNewlines,
-                  TestLFNewlines,
-                  TestCRLFNewlines,
-                  TestMixedNewlines)
-    tests = []
-    # Test the C and Python implementations.
-    for test in base_tests:
-        class CTest(test):
-            open = io.open
-        CTest.__name__ = "C" + test.__name__
-        class PyTest(test):
-            open = staticmethod(pyio.open)
-        PyTest.__name__ = "Py" + test.__name__
-        tests.append(CTest)
-        tests.append(PyTest)
-    support.run_unittest(*tests)
+class CTestMixedNewlines(CTest, TestMixedNewlines, unittest.TestCase): pass
+class PyTestMixedNewlines(PyTest, TestMixedNewlines, unittest.TestCase): pass
 
 if __name__ == '__main__':
-    test_main()
+    unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -379,6 +379,9 @@
 - Issue #12820: add tests for the xml.dom.minicompat module.
   Patch by John Chandler and Phil Connell.
 
+- Issue #17691: test_univnewlines now works with unittest test discovery.
+  Patch by Zachary Ware.
+
 - Issue #17790: test_set now works with unittest test discovery.
   Patch by Zachary Ware.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list