[3.13] gh-118817: Fix `asyncio REPL` on Windows (GH-118819) (#118847)

(cherry picked from commit c3643a1214)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
This commit is contained in:
Miss Islington (bot) 2024-05-09 17:47:31 +02:00 committed by GitHub
parent a98e44a5bf
commit 738877a101
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 4 deletions

View File

@ -108,7 +108,7 @@ if __name__ == '__main__':
try:
import readline # NoQA
except ImportError:
pass
readline = None
interactive_hook = getattr(sys, "__interactivehook__", None)
@ -122,8 +122,9 @@ if __name__ == '__main__':
except:
pass
else:
completer = rlcompleter.Completer(console.locals)
readline.set_completer(completer.complete)
if readline is not None:
completer = rlcompleter.Completer(console.locals)
readline.set_completer(completer.complete)
repl_thread = REPLThread()
repl_thread.daemon = True

View File

@ -7,7 +7,7 @@ import subprocess
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
from test.support.script_helper import kill_python, assert_python_ok
from test.support.import_helper import import_module
@ -195,6 +195,9 @@ 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")
class TestInteractiveModeSyntaxErrors(unittest.TestCase):