From caed79529b08ca7dbf3e289a6de90d8c11b079ba Mon Sep 17 00:00:00 2001 From: Kirill Podoprigora Date: Tue, 11 Jul 2023 21:04:09 +0300 Subject: [PATCH] gh-102541: Add test case for help() for non_existent_module (GH-106340) Test fix for when one enters, for instance, 'abd' at the 'help>' prompt. --------- (cherry picked from commit 292ac4bfe92768140c2d383fd329cfa1949869b2) Co-authored-by: Kirill Podoprigora Co-authored-by: Terry Jan Reedy --- Lib/test/test_pydoc.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py index 115ffd3c29d4d6..ddb5187f90da9b 100644 --- a/Lib/test/test_pydoc.py +++ b/Lib/test/test_pydoc.py @@ -24,7 +24,8 @@ from urllib.request import urlopen, urlcleanup from test.support import import_helper from test.support import os_helper -from test.support.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import (assert_python_ok, + assert_python_failure, spawn_python) from test.support import threading_helper from test.support import (reap_children, captured_output, captured_stdout, captured_stderr, is_emscripten, is_wasi, @@ -631,6 +632,14 @@ def test_builtin_on_metaclasses(self): # Testing that the subclasses section does not appear self.assertNotIn('Built-in subclasses', text) + def test_fail_help_cli(self): + elines = (missing_pattern % 'abd').splitlines() + with spawn_python("-c" "help()") as proc: + out, _ = proc.communicate(b"abd") + olines = out.decode().splitlines()[-9:-6] + olines[0] = olines[0].removeprefix('help> ') + self.assertEqual(elines, olines) + def test_fail_help_output_redirect(self): with StringIO() as buf: helper = pydoc.Helper(output=buf)