]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-35363: test_eintr runs eintr_tester.py in verbose mode (GH-10965)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 5 Dec 2018 23:43:38 +0000 (15:43 -0800)
committerGitHub <noreply@github.com>
Wed, 5 Dec 2018 23:43:38 +0000 (15:43 -0800)
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 <vstinner@redhat.com>
Lib/test/test_eintr.py

index 25f86d31de35481e333ef8f81eb6dbc82c1cf774..c2e8deadbab752025187660c8ace1a2975a592bb 100644 (file)
@@ -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__":