From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Dec 2018 23:35:43 +0000 (-0800) Subject: bpo-35363: test_eintr runs eintr_tester.py in verbose mode (GH-10965) X-Git-Tag: v3.7.2rc1~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0fc3b2fe010e42a8c146fb84924e9fd33c6f4e29;p=thirdparty%2FPython%2Fcpython.git bpo-35363: test_eintr runs eintr_tester.py in verbose mode (GH-10965) Moreover, "python3 -m test test_eintr -v" now avoids redirecting stdout/stderr to a pipe, the child process inherits stdout/stderr from the parent. (cherry picked from commit aa8ae904ad2f576f8e7b38a9a6542d3e9a569be9) Co-authored-by: Victor Stinner --- diff --git a/Lib/test/test_eintr.py b/Lib/test/test_eintr.py index 25f86d31de35..c2e8deadbab7 100644 --- a/Lib/test/test_eintr.py +++ b/Lib/test/test_eintr.py @@ -1,5 +1,7 @@ import os import signal +import subprocess +import sys import unittest from test import support @@ -15,7 +17,19 @@ class EINTRTests(unittest.TestCase): # thread (for reliable signal delivery). tester = support.findfile("eintr_tester.py", subdir="eintrdata") # use -u to try to get the full output if the test hangs or crash - script_helper.assert_python_ok("-u", tester) + args = ["-u", tester, "-v"] + if support.verbose: + print() + print("--- run eintr_tester.py ---") + # In verbose mode, the child process inherit stdout and stdout, + # to see output in realtime and reduce the risk of loosing output. + args = [sys.executable, "-E", "-X", "faulthandler", *args] + proc = subprocess.run(args) + print(f"--- eintr_tester.py completed: exit code {proc.returncode} ---") + if proc.returncode: + self.fail("eintr_tester.py failed") + else: + script_helper.assert_python_ok("-u", tester, "-v") if __name__ == "__main__":