#16852: merge with 3.3.

This commit is contained in:
Ezio Melotti 2013-01-10 03:29:45 +02:00
commit 11b3a6056f
5 changed files with 16 additions and 27 deletions

View File

@ -17,9 +17,7 @@ def safe_rmdir(dirname):
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 @@ class GenericTest(unittest.TestCase):
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 @@ class CommonTest(GenericTest):
self.test_abspath()
def test_main():
support.run_unittest(GenericTest)
if __name__=="__main__":
test_main()
unittest.main()

View File

@ -115,13 +115,9 @@ class MacPathTestCase(unittest.TestCase):
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()

View File

@ -257,14 +257,10 @@ class TestNtpath(unittest.TestCase):
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()

View File

@ -462,14 +462,10 @@ class PosixPathTest(unittest.TestCase):
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()

View File

@ -614,6 +614,9 @@ Tests
- 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