bpo-42639: Add script_helper.run_test_script() (GH-23777)
* Add run_test_script() function to test.support.script_helper.
* Rename Lib/test/eintrdata/eintr_tester.py to
Lib/test/_test_eintr.py.
* test_eintr.py uses run_test_script().
diff --git a/Lib/test/test_eintr.py b/Lib/test/test_eintr.py
index a5f8f64..b61cdfa 100644
--- a/Lib/test/test_eintr.py
+++ b/Lib/test/test_eintr.py
@@ -15,22 +15,8 @@ class EINTRTests(unittest.TestCase):
def test_all(self):
# Run the tester in a sub-process, to make sure there is only one
# 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
- args = ["-u", tester, "-v"]
- if support.verbose:
- print()
- print("--- run eintr_tester.py ---", flush=True)
- # In verbose mode, the child process inherit stdout and stdout,
- # to see output in realtime and reduce the risk of losing output.
- args = [sys.executable, "-E", "-X", "faulthandler", *args]
- proc = subprocess.run(args)
- print(f"--- eintr_tester.py completed: "
- f"exit code {proc.returncode} ---", flush=True)
- if proc.returncode:
- self.fail("eintr_tester.py failed")
- else:
- script_helper.assert_python_ok("-u", tester, "-v")
+ script = support.findfile("_test_eintr.py")
+ script_helper.run_test_script(script)
if __name__ == "__main__":