Issue 30759: [2.7] Fix python2 -m test --list-cases test_multibytecodec_support test_robotparser (original) (raw)

On Python 2.7, listing all test cases with "./python -m test --list-cases" fails on the following test files:

regrtest of Python 2.7 uses the test_main() function of each test file, if the function is defined. Whereas --list-cases is more written as a raw discovery function listing all cases which inherit from unittest.TestCase. These 3 files have base test cases which are "abstract" or configured below.

Options:

I would prefer to limit changes in Python 2.7 branch, so IMHO the second option is the best: modify the 2 tests.

haypo@selma$ ./python -m test --list-cases test_multibytecodec_support Traceback (most recent call last): ... File "/home/haypo/prog/python/2.7/Lib/test/test_multibytecodec_support.py", line 268, in init self.open_mapping_file().close() # test it to report the error early File "/home/haypo/prog/python/2.7/Lib/test/test_multibytecodec_support.py", line 273, in open_mapping_file return test_support.open_urlresource(self.mapfileurl) AttributeError: 'TestBase_Mapping' object has no attribute 'mapfileurl'

haypo@selma$ ./python -m test --list-cases test_robotparser Traceback (most recent call last): ... File "/home/haypo/prog/python/2.7/Lib/test/regrtest.py", line 1511, in list_cases suite = unittest.defaultTestLoader.loadTestsFromName(abstest) File "/home/haypo/prog/python/2.7/Lib/unittest/loader.py", line 103, in loadTestsFromName return self.loadTestsFromModule(obj) File "/home/haypo/prog/python/2.7/Lib/unittest/loader.py", line 65, in loadTestsFromModule tests.append(self.loadTestsFromTestCase(obj)) File "/home/haypo/prog/python/2.7/Lib/unittest/loader.py", line 56, in loadTestsFromTestCase loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames)) TypeError: init() takes exactly 6 arguments (2 given)