mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
Issue #22117: Fix test_gdb for the new time.sleep()
Use time.gmtime() instead of time.sleep(), because time.sleep() is no more declared with METH_VARARGS but with METH_O. time.gmtime() is still declared with METH_VARARGS and so it is called with PyCFunction_Call() which is the target of the test_gdb unit test.
This commit is contained in:
parent
ba508d5dd2
commit
79644f9c83
@ -802,25 +802,27 @@ id(42)
|
||||
"Python was compiled without thread support")
|
||||
def test_pycfunction(self):
|
||||
'Verify that "py-bt" displays invocations of PyCFunction instances'
|
||||
cmd = ('from time import sleep\n'
|
||||
# Tested function must not be defined with METH_NOARGS or METH_O,
|
||||
# otherwise call_function() doesn't call PyCFunction_Call()
|
||||
cmd = ('from time import gmtime\n'
|
||||
'def foo():\n'
|
||||
' sleep(1)\n'
|
||||
' gmtime(1)\n'
|
||||
'def bar():\n'
|
||||
' foo()\n'
|
||||
'bar()\n')
|
||||
# Verify with "py-bt":
|
||||
gdb_output = self.get_stack_trace(cmd,
|
||||
breakpoint='time_sleep',
|
||||
breakpoint='time_gmtime',
|
||||
cmds_after_breakpoint=['bt', 'py-bt'],
|
||||
)
|
||||
self.assertIn('<built-in method sleep', gdb_output)
|
||||
self.assertIn('<built-in method gmtime', gdb_output)
|
||||
|
||||
# Verify with "py-bt-full":
|
||||
gdb_output = self.get_stack_trace(cmd,
|
||||
breakpoint='time_sleep',
|
||||
breakpoint='time_gmtime',
|
||||
cmds_after_breakpoint=['py-bt-full'],
|
||||
)
|
||||
self.assertIn('#0 <built-in method sleep', gdb_output)
|
||||
self.assertIn('#0 <built-in method gmtime', gdb_output)
|
||||
|
||||
|
||||
class PyPrintTests(DebuggerTests):
|
||||
|
Loading…
Reference in New Issue
Block a user