bpo-45207: Make test_gdb.test_pycfunction() quiet (GH-28355)

test_gdb.test_pycfunction() now ignores gdb stderr, it no longer logs
messages like:

    Function "meth_varargs" not defined.
This commit is contained in:
Victor Stinner 2021-09-15 20:21:06 +02:00 committed by GitHub
parent cc057ff522
commit 84a6061e29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 3 deletions

View File

@ -145,7 +145,8 @@ class DebuggerTests(unittest.TestCase):
def get_stack_trace(self, source=None, script=None,
breakpoint=BREAKPOINT_FN,
cmds_after_breakpoint=None,
import_site=False):
import_site=False,
ignore_stderr=False):
'''
Run 'python -c SOURCE' under gdb with a breakpoint.
@ -224,8 +225,9 @@ class DebuggerTests(unittest.TestCase):
# Use "args" to invoke gdb, capturing stdout, stderr:
out, err = run_gdb(*args, PYTHONHASHSEED=PYTHONHASHSEED)
for line in err.splitlines():
print(line, file=sys.stderr)
if not ignore_stderr:
for line in err.splitlines():
print(line, file=sys.stderr)
# bpo-34007: Sometimes some versions of the shared libraries that
# are part of the traceback are compiled in optimised mode and the
@ -909,6 +911,9 @@ id(42)
cmd,
breakpoint=func_name,
cmds_after_breakpoint=['bt', 'py-bt'],
# bpo-45207: Ignore 'Function "meth_varargs" not
# defined.' message in stderr.
ignore_stderr=True,
)
self.assertIn(f'<built-in method {func_name}', gdb_output)
@ -917,6 +922,9 @@ id(42)
cmd,
breakpoint=func_name,
cmds_after_breakpoint=['py-bt-full'],
# bpo-45207: Ignore 'Function "meth_varargs" not
# defined.' message in stderr.
ignore_stderr=True,
)
self.assertIn(
f'#{expected_frame} <built-in method {func_name}',