gh-102541: Add test case for help() for non_existent_module (#106340)

Test fix for when one enters, for instance, 'abd' at the 'help>' prompt.
---------

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
Kirill Podoprigora 2023-07-11 21:04:09 +03:00 committed by GitHub
parent d0b7e18262
commit 292ac4bfe9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -24,7 +24,8 @@ from collections import namedtuple
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 @@ class PydocDocTest(unittest.TestCase):
# 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)