]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-120678: Guard against stdin.fileno() being unavailable (#121924)
authorŁukasz Langa <lukasz@langa.pl>
Wed, 17 Jul 2024 16:05:34 +0000 (18:05 +0200)
committerGitHub <noreply@github.com>
Wed, 17 Jul 2024 16:05:34 +0000 (16:05 +0000)
Lib/test/test_pyrepl/test_pyrepl.py

index 6451d6104b5d1af33899cbcb5e0c275d941478c5..e6fcb69571c3247ef0420d70ada3684e98bf26ab 100644 (file)
@@ -491,15 +491,23 @@ class TestPyReplOutput(TestCase):
 
     def test_stdin_is_tty(self):
         # Used during test log analysis to figure out if a TTY was available.
-        if os.isatty(sys.stdin.fileno()):
-            return
-        self.skipTest("stdin is not a tty")
+        try:
+            if os.isatty(sys.stdin.fileno()):
+                return
+        except OSError as ose:
+            self.skipTest(f"stdin tty check failed: {ose}")
+        else:
+            self.skipTest("stdin is not a tty")
 
     def test_stdout_is_tty(self):
         # Used during test log analysis to figure out if a TTY was available.
-        if os.isatty(sys.stdout.fileno()):
-            return
-        self.skipTest("stdout is not a tty")
+        try:
+            if os.isatty(sys.stdout.fileno()):
+                return
+        except OSError as ose:
+            self.skipTest(f"stdout tty check failed: {ose}")
+        else:
+            self.skipTest("stdout is not a tty")
 
     def test_basic(self):
         reader = self.prepare_reader(code_to_events("1+1\n"))