Adds a verbosity keyword argument to unittest.main plus a minor fix allowing you to specify test modules / classes
from the command line.
Closes issue 5995.
Michael Foord
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index c77cc16..d815a11 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -3280,19 +3280,22 @@
runner = FakeRunner()
- try:
- oldParseArgs = TestProgram.parseArgs
- TestProgram.parseArgs = lambda *args: None
- TestProgram.test = test
-
- program = TestProgram(testRunner=runner, exit=False)
-
- self.assertEqual(program.result, result)
- self.assertEqual(runner.test, test)
-
- finally:
+ oldParseArgs = TestProgram.parseArgs
+ def restoreParseArgs():
TestProgram.parseArgs = oldParseArgs
+ TestProgram.parseArgs = lambda *args: None
+ self.addCleanup(restoreParseArgs)
+
+ def removeTest():
del TestProgram.test
+ TestProgram.test = test
+ self.addCleanup(removeTest)
+
+ program = TestProgram(testRunner=runner, exit=False, verbosity=2)
+
+ self.assertEqual(program.result, result)
+ self.assertEqual(runner.test, test)
+ self.assertEqual(program.verbosity, 2)
class FooBar(unittest.TestCase):