[Python-checkins] bpo-35363: test_eintr runs eintr_tester.py in verbose mode (GH-10965)

Miss Islington (bot) webhook-mailer at python.org
Wed Dec 5 18:43:42 EST 2018


https://github.com/python/cpython/commit/4699f2aa26b2f8befa77852e0c6fba0b474a2748
commit: 4699f2aa26b2f8befa77852e0c6fba0b474a2748
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-12-05T15:43:38-08:00
summary:

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 <vstinner at redhat.com>

files:
M Lib/test/test_eintr.py

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 @@ def test_all(self):
         # 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__":



More information about the Python-checkins mailing list