diff options
author | Michael Foord <fuzzyman@voidspace.org.uk> | 2009-05-11 17:59:43 (GMT) |
---|---|---|
committer | Michael Foord <fuzzyman@voidspace.org.uk> | 2009-05-11 17:59:43 (GMT) |
commit | 5d31e057c572602282e66f3987b3d5d343a8f817 (patch) | |
tree | e7ec243125eb0df8a536cc6cc5275431c1bd0f32 /Lib | |
parent | b1d45856c255e480c7365e02fc91511c1438ac2a (diff) | |
download | cpython-5d31e057c572602282e66f3987b3d5d343a8f817.zip cpython-5d31e057c572602282e66f3987b3d5d343a8f817.tar.gz cpython-5d31e057c572602282e66f3987b3d5d343a8f817.tar.bz2 |
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
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_unittest.py | 23 | ||||
-rw-r--r-- | Lib/unittest.py | 7 |
2 files changed, 18 insertions, 12 deletions
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 @@ class Test_TestProgram(TestCase): runner = FakeRunner() - try: - oldParseArgs = TestProgram.parseArgs - TestProgram.parseArgs = lambda *args: None - TestProgram.test = test + oldParseArgs = TestProgram.parseArgs + def restoreParseArgs(): + TestProgram.parseArgs = oldParseArgs + TestProgram.parseArgs = lambda *args: None + self.addCleanup(restoreParseArgs) - program = TestProgram(testRunner=runner, exit=False) + def removeTest(): + del TestProgram.test + TestProgram.test = test + self.addCleanup(removeTest) - self.assertEqual(program.result, result) - self.assertEqual(runner.test, test) + program = TestProgram(testRunner=runner, exit=False, verbosity=2) - finally: - TestProgram.parseArgs = oldParseArgs - del TestProgram.test + self.assertEqual(program.result, result) + self.assertEqual(runner.test, test) + self.assertEqual(program.verbosity, 2) class FooBar(unittest.TestCase): diff --git a/Lib/unittest.py b/Lib/unittest.py index b2dc320..84520d8 100644 --- a/Lib/unittest.py +++ b/Lib/unittest.py @@ -1524,7 +1524,8 @@ Examples: """ def __init__(self, module='__main__', defaultTest=None, argv=None, testRunner=TextTestRunner, - testLoader=defaultTestLoader, exit=True): + testLoader=defaultTestLoader, exit=True, + verbosity=1): if isinstance(module, basestring): self.module = __import__(module) for part in module.split('.')[1:]: @@ -1535,7 +1536,7 @@ Examples: argv = sys.argv self.exit = exit - self.verbosity = 1 + self.verbosity = verbosity self.defaultTest = defaultTest self.testRunner = testRunner self.testLoader = testLoader @@ -1566,6 +1567,7 @@ Examples: return if len(args) > 0: self.testNames = args + self.module = None else: self.testNames = (self.defaultTest,) self.createTests() @@ -1598,4 +1600,5 @@ main = TestProgram ############################################################################## if __name__ == "__main__": + sys.modules['unittest'] = sys.modules['__main__'] main(module=None) |