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

ezio.melotti python-checkins at python.org
Thu Jan 10 02:30:05 CET 2013


http://hg.python.org/cpython/rev/3a7cd8efc19f
changeset:   81343:3a7cd8efc19f
parent:      81341:be8e6b81284e
parent:      81342:6f71e6aa9041
user:        Ezio Melotti <ezio.melotti at gmail.com>
date:        Thu Jan 10 03:29:45 2013 +0200
summary:
  #16852: merge with 3.3.

files:
  Lib/test/test_genericpath.py |  18 ++++++++----------
  Lib/test/test_macpath.py     |   8 ++------
  Lib/test/test_ntpath.py      |   6 +-----
  Lib/test/test_posixpath.py   |   8 ++------
  Misc/NEWS                    |   3 +++
  5 files changed, 16 insertions(+), 27 deletions(-)


diff --git a/Lib/test/test_genericpath.py b/Lib/test/test_genericpath.py
--- a/Lib/test/test_genericpath.py
+++ b/Lib/test/test_genericpath.py
@@ -17,9 +17,7 @@
         pass
 
 
-class GenericTest(unittest.TestCase):
-    # The path module to be tested
-    pathmodule = genericpath
+class GenericTest:
     common_attributes = ['commonprefix', 'getsize', 'getatime', 'getctime',
                          'getmtime', 'exists', 'isdir', 'isfile']
     attributes = []
@@ -270,13 +268,17 @@
             self.assertTrue(self.pathmodule.sameopenfile(
                                 a.fileno(), b.fileno()))
 
+class TestGenericTest(GenericTest, unittest.TestCase):
+    # Issue 16852: GenericTest can't inherit from unittest.TestCase
+    # for test discovery purposes; CommonTest inherits from GenericTest
+    # and is only meant to be inherited by others.
+    pathmodule = genericpath
+
 
 # Following TestCase is not supposed to be run from test_genericpath.
 # It is inherited by other test modules (macpath, ntpath, posixpath).
 
 class CommonTest(GenericTest):
-    # The path module to be tested
-    pathmodule = None
     common_attributes = GenericTest.common_attributes + [
         # Properties
         'curdir', 'pardir', 'extsep', 'sep',
@@ -407,9 +409,5 @@
                 self.test_abspath()
 
 
-def test_main():
-    support.run_unittest(GenericTest)
-
-
 if __name__=="__main__":
-    test_main()
+    unittest.main()
diff --git a/Lib/test/test_macpath.py b/Lib/test/test_macpath.py
--- a/Lib/test/test_macpath.py
+++ b/Lib/test/test_macpath.py
@@ -115,13 +115,9 @@
         self.assertEqual(normpath(b"a:b:"), b"a:b")
 
 
-class MacCommonTest(test_genericpath.CommonTest):
+class MacCommonTest(test_genericpath.CommonTest, unittest.TestCase):
     pathmodule = macpath
 
 
-def test_main():
-    support.run_unittest(MacPathTestCase, MacCommonTest)
-
-
 if __name__ == "__main__":
-    test_main()
+    unittest.main()
diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py
--- a/Lib/test/test_ntpath.py
+++ b/Lib/test/test_ntpath.py
@@ -257,14 +257,10 @@
                     ntpath.sameopenfile(-1, -1)
 
 
-class NtCommonTest(test_genericpath.CommonTest):
+class NtCommonTest(test_genericpath.CommonTest, unittest.TestCase):
     pathmodule = ntpath
     attributes = ['relpath', 'splitunc']
 
 
-def test_main():
-    support.run_unittest(TestNtpath, NtCommonTest)
-
-
 if __name__ == "__main__":
     unittest.main()
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -462,14 +462,10 @@
             os.getcwdb = real_getcwdb
 
 
-class PosixCommonTest(test_genericpath.CommonTest):
+class PosixCommonTest(test_genericpath.CommonTest, unittest.TestCase):
     pathmodule = posixpath
     attributes = ['relpath', 'samefile', 'sameopenfile', 'samestat']
 
 
-def test_main():
-    support.run_unittest(PosixPathTest, PosixCommonTest)
-
-
 if __name__=="__main__":
-    test_main()
+    unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -614,6 +614,9 @@
 
 - Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
 
+- Issue #16852: test_genericpath, test_posixpath, test_ntpath, and test_macpath
+  now work with unittest test discovery.  Patch by Zachary Ware.
+
 - Issue #16748: test_heapq now works with unittest test discovery.
 
 - Issue #10646: Tests rearranged for os.samefile/samestat to check for not

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


More information about the Python-checkins mailing list