summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_unittest.py8
-rw-r--r--Lib/unittest.py4
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 950b2ca222..ecf31628e8 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -3325,6 +3325,14 @@ class Test_TestProgram(TestCase):
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 c8943e7f12..bf7baa11c8 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -1640,9 +1640,11 @@ class TestProgram(object):
"""
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:]: