Restore default testRunner argument in unittest.main to None. Issue 6177.
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 5a82780..c8fdc15 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -2284,6 +2284,17 @@
self.assertRaises(AssertionError,
self.failIfAlmostEqual, 0, .1+.1j, places=0)
+
+class Test_TestProgram(TestCase):
+
+ def testTestProgram_testRunnerArgument(self):
+ program = object.__new__(unittest.TestProgram)
+ program.parseArgs = lambda _: None
+ program.runTests = lambda: None
+ program.__init__(testRunner=None)
+ self.assertEqual(program.testRunner, unittest.TextTestRunner)
+
+
######################################################################
## Main
######################################################################
@@ -2291,7 +2302,7 @@
def test_main():
test_support.run_unittest(Test_TestCase, Test_TestLoader,
Test_TestSuite, Test_TestResult, Test_FunctionTestCase,
- Test_Assertions)
+ Test_Assertions, Test_TestProgram)
if __name__ == "__main__":
test_main()
diff --git a/Lib/unittest.py b/Lib/unittest.py
index 09c6ca9..2ad5de7 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -798,8 +798,10 @@
in MyTestCase
"""
def __init__(self, module='__main__', defaultTest=None,
- argv=None, testRunner=TextTestRunner,
+ argv=None, testRunner=None,
testLoader=defaultTestLoader):
+ if testRunner is None:
+ testRunner = TextTestRunner
if type(module) == type(''):
self.module = __import__(module)
for part in module.split('.')[1:]: