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 950b2ca..ecf3162 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -3325,6 +3325,14 @@
self.assertEqual(program.verbosity, 2)
+ def testTestProgram_testRunnerArgument(self):
+ program = object.__new__(TestProgram)
+ program.parseArgs = lambda _: None
+ program.runTests = lambda: None
+ program.__init__(testRunner=None)
+ self.assertEqual(program.testRunner, unittest.TextTestRunner)
+
+
class FooBar(unittest.TestCase):
def testPass(self):
assert True
diff --git a/Lib/unittest.py b/Lib/unittest.py
index c8943e7..bf7baa1 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -1640,9 +1640,11 @@
"""
USAGE = USAGE
def __init__(self, module='__main__', defaultTest=None,
- argv=None, testRunner=TextTestRunner,
+ argv=None, testRunner=None,
testLoader=defaultTestLoader, exit=True,
verbosity=1):
+ if testRunner is None:
+ testRunner = TextTestRunner
if isinstance(module, basestring):
self.module = __import__(module)
for part in module.split('.')[1:]: