sys.stdout to avoid UnicodeEncodeError (use backslashreplace error handler)
print("test", test, "crashed --", str(type) + ":", value)
sys.stdout.flush()
if verbose or debug:
- traceback.print_exc(file=sys.stdout)
- sys.stdout.flush()
+ traceback.print_exc(file=sys.stderr)
+ sys.stderr.flush()
return FAILED, test_time
else:
if refleak:
def _run_suite(suite):
"""Run tests from a unittest.TestSuite-derived class."""
if verbose:
- runner = unittest.TextTestRunner(sys.stdout, verbosity=2)
+ runner = unittest.TextTestRunner(sys.stderr, verbosity=2)
else:
runner = BasicTestRunner()
Tests
-----
+- Issue #8533: Write tracebacks and failed tests to sys.stderr instead of
+ sys.stdout to avoid UnicodeEncodeError (use backslashreplace error handler)
+
- Issue #8576: Remove use of find_unused_port() in test_smtplib and
test_multiprocessing. Patch by Paul Moore.