(merge 3.2) Issue #12400: regrtest, force verbose mode to True with option -W
If verbose is False, the output is empty. Fix also a typo in a variable name.
This commit is contained in:
commit
ba08905062
|
@ -838,29 +838,32 @@ def runtest(test, verbose, quiet,
|
|||
if use_timeout:
|
||||
faulthandler.dump_tracebacks_later(timeout, exit=True)
|
||||
try:
|
||||
support.verbose = verbose # Tell tests to be moderately quiet
|
||||
if output_on_failure:
|
||||
if runtest.stringio is None:
|
||||
support.verbose = True
|
||||
|
||||
# Reuse the same instance to all calls to runtest(). Some
|
||||
# tests keep a reference to sys.stdout or sys.stderr
|
||||
# (eg. test_argparse).
|
||||
if runtest.stringio is None:
|
||||
runtest.stringio = io.StringIO()
|
||||
stream = runtest.stringio
|
||||
|
||||
orig_stdout = sys.stdout
|
||||
orig_stderr = sys.stderr
|
||||
try:
|
||||
sys.stdout = runtest.stringio
|
||||
sys.stderr = runtest.stringio
|
||||
sys.stdout = stream
|
||||
sys.stderr = stream
|
||||
result = runtest_inner(test, verbose, quiet, huntrleaks,
|
||||
debug, display_failure=False)
|
||||
if result[0] == FAILED:
|
||||
output = stringio.getvalue()
|
||||
output = stream.getvalue()
|
||||
orig_stderr.write(output)
|
||||
orig_stderr.flush()
|
||||
finally:
|
||||
sys.stdout = orig_stdout
|
||||
sys.stderr = orig_stderr
|
||||
else:
|
||||
support.verbose = verbose # Tell tests to be moderately quiet
|
||||
result = runtest_inner(test, verbose, quiet, huntrleaks, debug,
|
||||
display_failure=not verbose)
|
||||
return result
|
||||
|
|
Loading…
Reference in New Issue