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__":