https://github.com/python/cpython/commit/a1834742936a3a2164c25c14ecf4ae6a95288ca3
commit: a1834742936a3a2164c25c14ecf4ae6a95288ca3
branch: main
author: Milan Oberkirch <milan.oberki...@geops.com>
committer: ambv <luk...@langa.pl>
date: 2024-07-13T17:17:24+02:00
summary:

gh-121711: Set `-m asyncio` return_code to 1 for ENOTTY (#121714)

Set return_code to 1 for ENOTTY

files:
M Lib/asyncio/__main__.py
M Lib/test/test_repl.py

diff --git a/Lib/asyncio/__main__.py b/Lib/asyncio/__main__.py
index 3e2fe93943d4ed..95147171c2b79d 100644
--- a/Lib/asyncio/__main__.py
+++ b/Lib/asyncio/__main__.py
@@ -106,7 +106,8 @@ def run(self):
                 if os.getenv("PYTHON_BASIC_REPL"):
                     raise RuntimeError("user environment requested basic REPL")
                 if not os.isatty(sys.stdin.fileno()):
-                    raise OSError(errno.ENOTTY, "tty required", "stdin")
+                    return_code = errno.ENOTTY
+                    raise OSError(return_code, "tty required", "stdin")
 
                 # This import will fail on operating systems with no termios.
                 from _pyrepl.simple_interact import (
diff --git a/Lib/test/test_repl.py b/Lib/test/test_repl.py
index 1caf09ceaf10fc..0e73fb6249c787 100644
--- a/Lib/test/test_repl.py
+++ b/Lib/test/test_repl.py
@@ -7,7 +7,7 @@
 from textwrap import dedent
 from test import support
 from test.support import cpython_only, has_subprocess_support, 
SuppressCrashReport
-from test.support.script_helper import kill_python, assert_python_ok
+from test.support.script_helper import assert_python_failure, kill_python, 
assert_python_ok
 from test.support.import_helper import import_module
 
 
@@ -195,8 +195,8 @@ def bar(x):
         expected = "(30, None, [\'def foo(x):\\n\', \'    return x + 1\\n\', 
\'\\n\'], \'<stdin>\')"
         self.assertIn(expected, output, expected)
 
-    def test_asyncio_repl_is_ok(self):
-        assert_python_ok("-m", "asyncio")
+    def test_asyncio_repl_no_tty_fails(self):
+        assert assert_python_failure("-m", "asyncio")
 
 
 class TestInteractiveModeSyntaxErrors(unittest.TestCase):

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to