Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 04824ce

Browse files
committed
Add regrtest -w option.
1 parent f688cc5 commit 04824ce

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

Lib/test/regrtest.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
Command line options:
1010
1111
-v: verbose -- run tests in verbose mode with output to stdout
12+
-w: verbose2 -- re-run failed tests in verbose mode
1213
-q: quiet -- don't print anything except if a test fails
1314
-g: generate -- write the output file for a test instead of comparing it
1415
-x: exclude -- arguments are tests to *exclude*
@@ -154,7 +155,7 @@ def usage(code, msg=''):
154155
def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
155156
exclude=False, single=False, randomize=False, fromfile=None,
156157
findleaks=False, use_resources=None, trace=False, coverdir='coverage',
157-
runleaks=False, huntrleaks=False):
158+
runleaks=False, huntrleaks=False, verbose2=False):
158159
"""Execute a test suite.
159160
160161
This also parses command-line options and modifies its behavior
@@ -179,12 +180,12 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
179180

180181
test_support.record_original_stdout(sys.stdout)
181182
try:
182-
opts, args = getopt.getopt(sys.argv[1:], 'hvgqxsrf:lu:t:TD:NLR:',
183+
opts, args = getopt.getopt(sys.argv[1:], 'hvgqxsrf:lu:t:TD:NLR:w',
183184
['help', 'verbose', 'quiet', 'generate',
184185
'exclude', 'single', 'random', 'fromfile',
185186
'findleaks', 'use=', 'threshold=', 'trace',
186187
'coverdir=', 'nocoverdir', 'runleaks',
187-
'huntrleaks='
188+
'huntrleaks=', 'verbose2',
188189
])
189190
except getopt.error, msg:
190191
usage(2, msg)
@@ -197,6 +198,8 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
197198
usage(0)
198199
elif o in ('-v', '--verbose'):
199200
verbose += 1
201+
elif o in ('-w', '--verbose2'):
202+
verbose2 = True
200203
elif o in ('-q', '--quiet'):
201204
quiet = True;
202205
verbose = 0
@@ -398,6 +401,20 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
398401
print "Ask someone to teach regrtest.py about which tests are"
399402
print "expected to get skipped on", plat + "."
400403

404+
if verbose2 and bad:
405+
print "Re-running failed tests in verbose mode"
406+
for test in bad:
407+
try:
408+
test_support.verbose = 1
409+
ok = runtest(test, generate, 1, quiet, testdir,
410+
huntrleaks)
411+
except KeyboardInterrupt:
412+
# print a newline separate from the ^C
413+
print
414+
break
415+
except:
416+
raise
417+
401418
if single:
402419
alltests = findtests(testdir, stdtests, nottests)
403420
for i in range(len(alltests)):

Misc/NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,8 @@ Extension Modules
440440
Library
441441
-------
442442

443+
- A regrtest option -w was added to re-run failed tests in verbose mode.
444+
443445
- Patch #1446372: quit and exit can now be called from the interactive
444446
interpreter to exit.
445447

0 commit comments

Comments
 (0)