From d0dfe9ad463f5d3a76af23df8bfd9c9d1915b328 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 10 Jan 2013 03:12:50 +0200 Subject: #16852: test_genericpath, test_posixpath, test_ntpath, and test_macpath now work with unittest test discovery. Patch by Zachary Ware. --- Lib/test/test_genericpath.py | 17 +++++++---------- Lib/test/test_macpath.py | 8 ++------ Lib/test/test_ntpath.py | 6 +----- Lib/test/test_posixpath.py | 8 ++------ Misc/NEWS | 3 +++ 5 files changed, 15 insertions(+), 27 deletions(-) diff --git a/Lib/test/test_genericpath.py b/Lib/test/test_genericpath.py index 08061fa..fd8bc57 100644 --- a/Lib/test/test_genericpath.py +++ b/Lib/test/test_genericpath.py @@ -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 = [] @@ -190,13 +188,16 @@ class GenericTest(unittest.TestCase): support.unlink(support.TESTFN) safe_rmdir(support.TESTFN) +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', @@ -328,9 +329,5 @@ class CommonTest(GenericTest): 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 index d732e14..ae4e564 100644 --- a/Lib/test/test_macpath.py +++ b/Lib/test/test_macpath.py @@ -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() diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py index 2c9dab9..f809876 100644 --- a/Lib/test/test_ntpath.py +++ b/Lib/test/test_ntpath.py @@ -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() diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py index 7aca87d..a16a957 100644 --- a/Lib/test/test_posixpath.py +++ b/Lib/test/test_posixpath.py @@ -524,14 +524,10 @@ class PosixPathTest(unittest.TestCase): self.assertTrue(posixpath.sameopenfile(a.fileno(), b.fileno())) -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 index 6ed6101..1d678dc 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -408,6 +408,9 @@ Library Tests ----- +- 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 #15324: Fix regrtest parsing of --fromfile, --match, and --randomize -- cgit v0.12