diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2023-04-02 22:12:51 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-02 22:12:51 (GMT) |
commit | 6883007a86bdf0d7cf4560b949fd5e577dab1013 (patch) | |
tree | b5585b8135e1136d9b567dda62e887a27033b392 /Lib/unittest/main.py | |
parent | a0305c5fdfdef7a362d0262c54399c4a6013d1ea (diff) | |
download | cpython-6883007a86bdf0d7cf4560b949fd5e577dab1013.zip cpython-6883007a86bdf0d7cf4560b949fd5e577dab1013.tar.gz cpython-6883007a86bdf0d7cf4560b949fd5e577dab1013.tar.bz2 |
bpo-4080: unittest durations (#12271)
Diffstat (limited to 'Lib/unittest/main.py')
-rw-r--r-- | Lib/unittest/main.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/unittest/main.py b/Lib/unittest/main.py index 046fbd3..0792750 100644 --- a/Lib/unittest/main.py +++ b/Lib/unittest/main.py @@ -66,7 +66,8 @@ class TestProgram(object): def __init__(self, module='__main__', defaultTest=None, argv=None, testRunner=None, testLoader=loader.defaultTestLoader, exit=True, verbosity=1, failfast=None, catchbreak=None, - buffer=None, warnings=None, *, tb_locals=False): + buffer=None, warnings=None, *, tb_locals=False, + durations=None): if isinstance(module, str): self.module = __import__(module) for part in module.split('.')[1:]: @@ -82,6 +83,7 @@ class TestProgram(object): self.verbosity = verbosity self.buffer = buffer self.tb_locals = tb_locals + self.durations = durations if warnings is None and not sys.warnoptions: # even if DeprecationWarnings are ignored by default # print them anyway unless other warnings settings are @@ -178,6 +180,9 @@ class TestProgram(object): parser.add_argument('--locals', dest='tb_locals', action='store_true', help='Show local variables in tracebacks') + parser.add_argument('--durations', dest='durations', type=int, + default=None, metavar="N", + help='Show the N slowest test cases (N=0 for all)') if self.failfast is None: parser.add_argument('-f', '--failfast', dest='failfast', action='store_true', @@ -258,9 +263,10 @@ class TestProgram(object): failfast=self.failfast, buffer=self.buffer, warnings=self.warnings, - tb_locals=self.tb_locals) + tb_locals=self.tb_locals, + durations=self.durations) except TypeError: - # didn't accept the tb_locals argument + # didn't accept the tb_locals or durations argument testRunner = self.testRunner(verbosity=self.verbosity, failfast=self.failfast, buffer=self.buffer, |