summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Oberkirch <milan.oberkirch@geops.com>2024-07-13 15:17:24 (GMT)
committerGitHub <noreply@github.com>2024-07-13 15:17:24 (GMT)
commita1834742936a3a2164c25c14ecf4ae6a95288ca3 (patch)
tree0f3e8a9a050647dccad160aa68217ebf71417e7a
parent178e44de8f023be7a5dc400044ab61983b191f24 (diff)
downloadcpython-a1834742936a3a2164c25c14ecf4ae6a95288ca3.zip
cpython-a1834742936a3a2164c25c14ecf4ae6a95288ca3.tar.gz
cpython-a1834742936a3a2164c25c14ecf4ae6a95288ca3.tar.bz2
gh-121711: Set `-m asyncio` return_code to 1 for ENOTTY (#121714)
Set return_code to 1 for ENOTTY
-rw-r--r--Lib/asyncio/__main__.py3
-rw-r--r--Lib/test/test_repl.py6
2 files changed, 5 insertions, 4 deletions
diff --git a/Lib/asyncio/__main__.py b/Lib/asyncio/__main__.py
index 3e2fe93..9514717 100644
--- a/Lib/asyncio/__main__.py
+++ b/Lib/asyncio/__main__.py
@@ -106,7 +106,8 @@ class REPLThread(threading.Thread):
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 1caf09c..0e73fb6 100644
--- a/Lib/test/test_repl.py
+++ b/Lib/test/test_repl.py
@@ -7,7 +7,7 @@ import unittest
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 @@ class TestInteractiveInterpreter(unittest.TestCase):
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):