| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found.
|
Test on this machine:
Results:
Without the fix$ ./python -m test test_gdb -v -u all
(...)
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... FAIL
Verify that "py-bt" displays invocations of PyCFunction instances ... FAIL
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_fastcall_keywords]
(...)
======================================================================
FAIL: test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vstinner/cpython/Lib/test/test_gdb.py", line 950, in test_pycfunction
self.assertIn(f'<built-in method {func_name}', gdb_output)
AssertionError: '<built-in method meth_varargs' not found in 'Breakpoint 1 (meth_varargs) pending.\n\nThis GDB supports auto-downloading debuginfo from the following URLs:\n <https://debuginfod.fedoraproject.org/>\nEnable debuginfod for this session? (y or [n]) [answered N; input not from terminal]\nDebuginfod has been disabled.\nTo make this setting permanent, add \'set debuginfod enabled off\' to .gdbinit.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib64/libthread_db.so.1".\n\nBreakpoint 1, meth_varargs (self=<module at remote 0x7fffea383170>, args=()) at ./Modules/_testcapimodule.c:2060\n2060\t return Py_BuildValue("NO", _null_to_none(self), args);\n#0 meth_varargs (self=<module at remote 0x7fffea383170>, args=()) at ./Modules/_testcapimodule.c:2060\n#1 PyModuleDef_Type ()\nBacktrace stopped: frame did not save the PC\nUnable to locate python frame\n'
======================================================================
FAIL: test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vstinner/cpython/Lib/test/test_gdb.py", line 950, in test_pycfunction
self.assertIn(f'<built-in method {func_name}', gdb_output)
AssertionError: '<built-in method meth_fastcall_keywords' not found in 'Breakpoint 1 (meth_fastcall_keywords) pending.\n\nThis GDB supports auto-downloading debuginfo from the following URLs:\n <https://debuginfod.fedoraproject.org/>\nEnable debuginfod for this session? (y or [n]) [answered N; input not from terminal]\nDebuginfod has been disabled.\nTo make this setting permanent, add \'set debuginfod enabled off\' to .gdbinit.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib64/libthread_db.so.1".\n\nBreakpoint 1, meth_fastcall_keywords (self=<module at remote 0x7fffea3831d0>, args=, nargs=0, kwargs=0x0) at ./Modules/_testcapimodule.c:2107\n2107\t PyObject *pyargs = _fastcall_to_tuple(args, nargs);\n#0 meth_fastcall_keywords (self=<module at remote 0x7fffea3831d0>, args=, nargs=0, kwargs=0x0) at ./Modules/_testcapimodule.c:2107\n#1 ?? ()\nUnable to locate python frame\n'
(...)
Total duration: 1 min 23 sec
Total tests: run=46 failures=2 skipped=39
Total test files: run=1/1 failed=1
Result: FAILURE
Full logs: Details[vstinner@localhost cpython]$ ./python -m test test_gdb -v -u all
== CPython 3.13.0a0 (heads/main:388d91c, Sep 12 2023, 22:49:42) [Clang 16.0.6 (Fedora 16.0.6-2.fc38)]
== Linux-5.8.17-200.fc32.ppc64le-ppc64le-with-glibc2.37 little-endian
== Python build: debug
== cwd: /home/vstinner/cpython/build/test_python_worker_2057070æ
== CPU count: 8
== encodings: locale=UTF-8, FS=utf-8
0:00:00 load avg: 1.99 Run 1 test sequentially
0:00:00 load avg: 1.99 [1/1] test_gdb
GDB version 13.2:
GNU gdb (GDB) Fedora Linux 13.2-3.fc38
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
test_NULL_ob_type (test.test_gdb.PrettyPrintTests.test_NULL_ob_type)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... ok
test_NULL_ptr (test.test_gdb.PrettyPrintTests.test_NULL_ptr)
Ensure that a NULL PyObject* is handled gracefully ... ok
test_builtin_method (test.test_gdb.PrettyPrintTests.test_builtin_method) ... ok
test_builtins_help (test.test_gdb.PrettyPrintTests.test_builtins_help)
Ensure that the new-style class _Helper in site.py can be handled ... ok
test_bytes (test.test_gdb.PrettyPrintTests.test_bytes)
Verify the pretty-printing of bytes ... ok
test_corrupt_ob_type (test.test_gdb.PrettyPrintTests.test_corrupt_ob_type)
Ensure that a PyObject* with a corrupt ob_type is handled gracefully ... ok
test_corrupt_tp_flags (test.test_gdb.PrettyPrintTests.test_corrupt_tp_flags)
Ensure that a PyObject* with a type with corrupt tp_flags is handled ... ok
test_corrupt_tp_name (test.test_gdb.PrettyPrintTests.test_corrupt_tp_name)
Ensure that a PyObject* with a type with corrupt tp_name is handled ... ok
test_dicts (test.test_gdb.PrettyPrintTests.test_dicts)
Verify the pretty-printing of dictionaries ... ok
test_exceptions (test.test_gdb.PrettyPrintTests.test_exceptions) ... ok
test_frames (test.test_gdb.PrettyPrintTests.test_frames) ... ok
test_frozensets (test.test_gdb.PrettyPrintTests.test_frozensets)
Verify the pretty-printing of frozensets ... ok
test_getting_backtrace (test.test_gdb.PrettyPrintTests.test_getting_backtrace) ... ok
test_int (test.test_gdb.PrettyPrintTests.test_int)
Verify the pretty-printing of various int values ... ok
test_lists (test.test_gdb.PrettyPrintTests.test_lists)
Verify the pretty-printing of lists ... ok
test_modern_class (test.test_gdb.PrettyPrintTests.test_modern_class)
Verify the pretty-printing of new-style class instances ... ok
test_selfreferential_dict (test.test_gdb.PrettyPrintTests.test_selfreferential_dict)
Ensure that a reference loop involving a dict doesn't lead proxyval ... ok
test_selfreferential_list (test.test_gdb.PrettyPrintTests.test_selfreferential_list)
Ensure that a reference loop involving a list doesn't lead proxyval ... ok
test_selfreferential_new_style_instance (test.test_gdb.PrettyPrintTests.test_selfreferential_new_style_instance) ... ok
test_selfreferential_old_style_instance (test.test_gdb.PrettyPrintTests.test_selfreferential_old_style_instance) ... ok
test_sets (test.test_gdb.PrettyPrintTests.test_sets)
Verify the pretty-printing of sets ... ok
test_singletons (test.test_gdb.PrettyPrintTests.test_singletons)
Verify the pretty-printing of True, False and None ... ok
test_strings (test.test_gdb.PrettyPrintTests.test_strings)
Verify the pretty-printing of unicode strings ... ok
test_subclassing_list (test.test_gdb.PrettyPrintTests.test_subclassing_list)
Verify the pretty-printing of an instance of a list subclass ... ok
test_subclassing_tuple (test.test_gdb.PrettyPrintTests.test_subclassing_tuple)
Verify the pretty-printing of an instance of a tuple subclass ... ok
test_truncation (test.test_gdb.PrettyPrintTests.test_truncation)
Verify that very long output is truncated ... ok
test_tuples (test.test_gdb.PrettyPrintTests.test_tuples)
Verify the pretty-printing of tuples ... ok
test_bt (test.test_gdb.PyBtTests.test_bt)
Verify that the "py-bt" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_bt_full (test.test_gdb.PyBtTests.test_bt_full)
Verify that the "py-bt-full" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_gc (test.test_gdb.PyBtTests.test_gc)
Verify that "py-bt" indicates if a thread is garbage-collecting ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction)
Verify that "py-bt" displays invocations of PyCFunction instances ...
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... FAIL
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... FAIL
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_threads (test.test_gdb.PyBtTests.test_threads)
Verify that "py-bt" indicates threads that are waiting for the GIL ... skipped "'(unable to read python frame information)' found in gdb output"
test_wrapper_call (test.test_gdb.PyBtTests.test_wrapper_call) ... skipped "'(unable to read python frame information)' found in gdb output"
test_basic_command (test.test_gdb.PyListTests.test_basic_command)
Verify that the "py-list" command works ... skipped "'Unable to read information on python frame' found in gdb output"
test_one_abs_arg (test.test_gdb.PyListTests.test_one_abs_arg)
Verify the "py-list" command with one absolute argument ... skipped "'Unable to read information on python frame' found in gdb output"
test_two_abs_args (test.test_gdb.PyListTests.test_two_abs_args)
Verify the "py-list" command with two absolute arguments ... skipped "'Unable to read information on python frame' found in gdb output"
test_basic_command (test.test_gdb.PyLocalsTests.test_basic_command) ... skipped "'Unable to read information on python frame' found in gdb output"
test_locals_after_up (test.test_gdb.PyLocalsTests.test_locals_after_up) ... skipped "'Unable to read information on python frame' found in gdb output"
test_basic_command (test.test_gdb.PyPrintTests.test_basic_command)
Verify that the "py-print" command works ... skipped "'Unable to read information on python frame' found in gdb output"
test_print_after_up (test.test_gdb.PyPrintTests.test_print_after_up) ... skipped "'Unable to read information on python frame' found in gdb output"
test_printing_builtin (test.test_gdb.PyPrintTests.test_printing_builtin) ... skipped "'Unable to read information on python frame' found in gdb output"
test_printing_global (test.test_gdb.PyPrintTests.test_printing_global) ... skipped "'Unable to read information on python frame' found in gdb output"
test_down_at_bottom (test.test_gdb.StackNavigationTests.test_down_at_bottom)
Verify handling of "py-down" at the bottom of the stack ... ok
test_pyup_command (test.test_gdb.StackNavigationTests.test_pyup_command)
Verify that the "py-up" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_up_at_top (test.test_gdb.StackNavigationTests.test_up_at_top)
Verify handling of "py-up" at the top of the stack ... skipped "'(unable to read python frame information)' found in gdb output"
test_up_then_down (test.test_gdb.StackNavigationTests.test_up_then_down)
Verify "py-up" followed by "py-down" ... skipped "'(unable to read python frame information)' found in gdb output"
======================================================================
FAIL: test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vstinner/cpython/Lib/test/test_gdb.py", line 950, in test_pycfunction
self.assertIn(f'<built-in method {func_name}', gdb_output)
AssertionError: '<built-in method meth_varargs' not found in 'Breakpoint 1 (meth_varargs) pending.\n\nThis GDB supports auto-downloading debuginfo from the following URLs:\n <https://debuginfod.fedoraproject.org/>\nEnable debuginfod for this session? (y or [n]) [answered N; input not from terminal]\nDebuginfod has been disabled.\nTo make this setting permanent, add \'set debuginfod enabled off\' to .gdbinit.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib64/libthread_db.so.1".\n\nBreakpoint 1, meth_varargs (self=<module at remote 0x7fffea383170>, args=()) at ./Modules/_testcapimodule.c:2060\n2060\t return Py_BuildValue("NO", _null_to_none(self), args);\n#0 meth_varargs (self=<module at remote 0x7fffea383170>, args=()) at ./Modules/_testcapimodule.c:2060\n#1 PyModuleDef_Type ()\nBacktrace stopped: frame did not save the PC\nUnable to locate python frame\n'
======================================================================
FAIL: test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/vstinner/cpython/Lib/test/test_gdb.py", line 950, in test_pycfunction
self.assertIn(f'<built-in method {func_name}', gdb_output)
AssertionError: '<built-in method meth_fastcall_keywords' not found in 'Breakpoint 1 (meth_fastcall_keywords) pending.\n\nThis GDB supports auto-downloading debuginfo from the following URLs:\n <https://debuginfod.fedoraproject.org/>\nEnable debuginfod for this session? (y or [n]) [answered N; input not from terminal]\nDebuginfod has been disabled.\nTo make this setting permanent, add \'set debuginfod enabled off\' to .gdbinit.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib64/libthread_db.so.1".\n\nBreakpoint 1, meth_fastcall_keywords (self=<module at remote 0x7fffea3831d0>, args=, nargs=0, kwargs=0x0) at ./Modules/_testcapimodule.c:2107\n2107\t PyObject *pyargs = _fastcall_to_tuple(args, nargs);\n#0 meth_fastcall_keywords (self=<module at remote 0x7fffea3831d0>, args=, nargs=0, kwargs=0x0) at ./Modules/_testcapimodule.c:2107\n#1 ?? ()\nUnable to locate python frame\n'
----------------------------------------------------------------------
Ran 46 tests in 82.800s
FAILED (failures=2, skipped=39)
test test_gdb failed
test_gdb failed (2 failures) in 1 min 23 sec
== Tests result: FAILURE ==
1 test failed:
test_gdb
Total duration: 1 min 23 sec
Total tests: run=46 failures=2 skipped=39
Total test files: run=1/1 failed=1
Result: FAILURE
With the fix[vstinner@localhost cpython]$ ./python -m test test_gdb -v -u all (...) 1 test OK. Total duration: 1 min 26 sec Total tests: run=46 skipped=41 Total test files: run=1/1 Result: SUCCESS Full logs: Details[vstinner@localhost cpython]$ ./python -m test test_gdb -v -u all
== CPython 3.13.0a0 (heads/main:388d91c, Sep 12 2023, 22:49:42) [Clang 16.0.6 (Fedora 16.0.6-2.fc38)]
== Linux-5.8.17-200.fc32.ppc64le-ppc64le-with-glibc2.37 little-endian
== Python build: debug
== cwd: /home/vstinner/cpython/build/test_python_worker_2058409æ
== CPU count: 8
== encodings: locale=UTF-8, FS=utf-8
0:00:00 load avg: 2.24 Run 1 test sequentially
0:00:00 load avg: 2.24 [1/1] test_gdb
GDB version 13.2:
GNU gdb (GDB) Fedora Linux 13.2-3.fc38
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
test_NULL_ob_type (test.test_gdb.PrettyPrintTests.test_NULL_ob_type)
Ensure that a PyObject* with NULL ob_type is handled gracefully ... ok
test_NULL_ptr (test.test_gdb.PrettyPrintTests.test_NULL_ptr)
Ensure that a NULL PyObject* is handled gracefully ... ok
test_builtin_method (test.test_gdb.PrettyPrintTests.test_builtin_method) ... ok
test_builtins_help (test.test_gdb.PrettyPrintTests.test_builtins_help)
Ensure that the new-style class _Helper in site.py can be handled ... ok
test_bytes (test.test_gdb.PrettyPrintTests.test_bytes)
Verify the pretty-printing of bytes ... ok
test_corrupt_ob_type (test.test_gdb.PrettyPrintTests.test_corrupt_ob_type)
Ensure that a PyObject* with a corrupt ob_type is handled gracefully ... ok
test_corrupt_tp_flags (test.test_gdb.PrettyPrintTests.test_corrupt_tp_flags)
Ensure that a PyObject* with a type with corrupt tp_flags is handled ... ok
test_corrupt_tp_name (test.test_gdb.PrettyPrintTests.test_corrupt_tp_name)
Ensure that a PyObject* with a type with corrupt tp_name is handled ... ok
test_dicts (test.test_gdb.PrettyPrintTests.test_dicts)
Verify the pretty-printing of dictionaries ... ok
test_exceptions (test.test_gdb.PrettyPrintTests.test_exceptions) ... ok
test_frames (test.test_gdb.PrettyPrintTests.test_frames) ... ok
test_frozensets (test.test_gdb.PrettyPrintTests.test_frozensets)
Verify the pretty-printing of frozensets ... ok
test_getting_backtrace (test.test_gdb.PrettyPrintTests.test_getting_backtrace) ... ok
test_int (test.test_gdb.PrettyPrintTests.test_int)
Verify the pretty-printing of various int values ... ok
test_lists (test.test_gdb.PrettyPrintTests.test_lists)
Verify the pretty-printing of lists ... ok
test_modern_class (test.test_gdb.PrettyPrintTests.test_modern_class)
Verify the pretty-printing of new-style class instances ... ok
test_selfreferential_dict (test.test_gdb.PrettyPrintTests.test_selfreferential_dict)
Ensure that a reference loop involving a dict doesn't lead proxyval ... ok
test_selfreferential_list (test.test_gdb.PrettyPrintTests.test_selfreferential_list)
Ensure that a reference loop involving a list doesn't lead proxyval ... ok
test_selfreferential_new_style_instance (test.test_gdb.PrettyPrintTests.test_selfreferential_new_style_instance) ... ok
test_selfreferential_old_style_instance (test.test_gdb.PrettyPrintTests.test_selfreferential_old_style_instance) ... ok
test_sets (test.test_gdb.PrettyPrintTests.test_sets)
Verify the pretty-printing of sets ... ok
test_singletons (test.test_gdb.PrettyPrintTests.test_singletons)
Verify the pretty-printing of True, False and None ... ok
test_strings (test.test_gdb.PrettyPrintTests.test_strings)
Verify the pretty-printing of unicode strings ... ok
test_subclassing_list (test.test_gdb.PrettyPrintTests.test_subclassing_list)
Verify the pretty-printing of an instance of a list subclass ... ok
test_subclassing_tuple (test.test_gdb.PrettyPrintTests.test_subclassing_tuple)
Verify the pretty-printing of an instance of a tuple subclass ... ok
test_truncation (test.test_gdb.PrettyPrintTests.test_truncation)
Verify that very long output is truncated ... ok
test_tuples (test.test_gdb.PrettyPrintTests.test_tuples)
Verify the pretty-printing of tuples ... ok
test_bt (test.test_gdb.PyBtTests.test_bt)
Verify that the "py-bt" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_bt_full (test.test_gdb.PyBtTests.test_bt_full)
Verify that the "py-bt-full" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_gc (test.test_gdb.PyBtTests.test_gc)
Verify that "py-bt" indicates if a thread is garbage-collecting ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction)
Verify that "py-bt" displays invocations of PyCFunction instances ...
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'Backtrace stopped: frame did not save the PC' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_varargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_varargs_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_o]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_noargs]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_fastcall]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "' ?? ()' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass.meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethClass().meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_pycfunction (test.test_gdb.PyBtTests.test_pycfunction) [_testcapi.MethStatic().meth_fastcall_keywords]
Verify that "py-bt" displays invocations of PyCFunction instances ... skipped "'(unable to read python frame information)' found in gdb output"
test_threads (test.test_gdb.PyBtTests.test_threads)
Verify that "py-bt" indicates threads that are waiting for the GIL ... skipped "'(unable to read python frame information)' found in gdb output"
test_wrapper_call (test.test_gdb.PyBtTests.test_wrapper_call) ... skipped "'(unable to read python frame information)' found in gdb output"
test_basic_command (test.test_gdb.PyListTests.test_basic_command)
Verify that the "py-list" command works ... skipped "'Unable to read information on python frame' found in gdb output"
test_one_abs_arg (test.test_gdb.PyListTests.test_one_abs_arg)
Verify the "py-list" command with one absolute argument ... skipped "'Unable to read information on python frame' found in gdb output"
test_two_abs_args (test.test_gdb.PyListTests.test_two_abs_args)
Verify the "py-list" command with two absolute arguments ... skipped "'Unable to read information on python frame' found in gdb output"
test_basic_command (test.test_gdb.PyLocalsTests.test_basic_command) ... skipped "'Unable to read information on python frame' found in gdb output"
test_locals_after_up (test.test_gdb.PyLocalsTests.test_locals_after_up) ... skipped "'Unable to read information on python frame' found in gdb output"
test_basic_command (test.test_gdb.PyPrintTests.test_basic_command)
Verify that the "py-print" command works ... skipped "'Unable to read information on python frame' found in gdb output"
test_print_after_up (test.test_gdb.PyPrintTests.test_print_after_up) ... skipped "'Unable to read information on python frame' found in gdb output"
test_printing_builtin (test.test_gdb.PyPrintTests.test_printing_builtin) ... skipped "'Unable to read information on python frame' found in gdb output"
test_printing_global (test.test_gdb.PyPrintTests.test_printing_global) ... skipped "'Unable to read information on python frame' found in gdb output"
test_down_at_bottom (test.test_gdb.StackNavigationTests.test_down_at_bottom)
Verify handling of "py-down" at the bottom of the stack ... ok
test_pyup_command (test.test_gdb.StackNavigationTests.test_pyup_command)
Verify that the "py-up" command works ... skipped "'(unable to read python frame information)' found in gdb output"
test_up_at_top (test.test_gdb.StackNavigationTests.test_up_at_top)
Verify handling of "py-up" at the top of the stack ... skipped "'(unable to read python frame information)' found in gdb output"
test_up_then_down (test.test_gdb.StackNavigationTests.test_up_then_down)
Verify "py-up" followed by "py-down" ... skipped "'(unable to read python frame information)' found in gdb output"
----------------------------------------------------------------------
Ran 46 tests in 85.120s
OK (skipped=41)
test_gdb passed in 1 min 26 sec
== Tests result: SUCCESS ==
1 test OK.
Total duration: 1 min 26 sec
Total tests: run=46 skipped=41
Total test files: run=1/1
Result: SUCCESS
|
Sorry, something went wrong.
|
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
Sorry, something went wrong.
…09360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) Co-authored-by: Victor Stinner <vstinner@python.org>
|
GH-109361 is a backport of this pull request to the 3.12 branch. |
Sorry, something went wrong.
|
GH-109362 is a backport of this pull request to the 3.11 branch. |
Sorry, something went wrong.
…09360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) Co-authored-by: Victor Stinner <vstinner@python.org>
#109362) gh-104736: Fix test_gdb tests on ppc64le with clang (GH-109360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) Co-authored-by: Victor Stinner <vstinner@python.org>
#109361) gh-104736: Fix test_gdb tests on ppc64le with clang (GH-109360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) Co-authored-by: Victor Stinner <vstinner@python.org>
) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71)
* gh-109972: Enhance test_gdb (#110026) * Split test_pycfunction.py: add test_cfunction_full.py. Split the function into the following 6 functions. In verbose mode, these "pycfunction" tests now log each tested call. * test_pycfunction_noargs() * test_pycfunction_o() * test_pycfunction_varargs() * test_pycfunction_varargs_keywords() * test_pycfunction_fastcall() * test_pycfunction_fastcall_keywords() * Move get_gdb_repr() to PrettyPrintTests. * Replace DebuggerTests.get_sample_script() with SAMPLE_SCRIPT. * Rename checkout_hook_path to CHECKOUT_HOOK_PATH. * Rename gdb_version to GDB_VERSION_TEXT. * Replace (gdb_major_version, gdb_minor_version) with GDB_VERSION. * run_gdb() uses "backslashreplace" error handler instead of "replace". * Add check_gdb() function to util.py. * Enhance support.check_cflags_pgo(): check also for sysconfig PGO_PROF_USE_FLAG (if available) in compiler flags. * Move some SkipTest checks to test_gdb/__init__.py. * Elaborate why gdb cannot be tested on Windows: gdb doesn't support PDB debug symbol files. (cherry picked from commit 757cbd4) * gh-104736: Fix test_gdb tests on ppc64le with clang (#109360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) * gh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (#110331) CFunctionFullTests now also runs "bt" command before "py-bt-full", similar to CFunctionTests which also runs "bt" command before "py-bt". So test_gdb can skip the test if patterns like "?? ()" are found in the gdb output. (cherry picked from commit 1de9406)
…110351) * pythongh-109972: Enhance test_gdb (pythonGH-110026) * Split test_pycfunction.py: add test_cfunction_full.py. Split the function into the following 6 functions. In verbose mode, these "pycfunction" tests now log each tested call. * test_pycfunction_noargs() * test_pycfunction_o() * test_pycfunction_varargs() * test_pycfunction_varargs_keywords() * test_pycfunction_fastcall() * test_pycfunction_fastcall_keywords() * Move get_gdb_repr() to PrettyPrintTests. * Replace DebuggerTests.get_sample_script() with SAMPLE_SCRIPT. * Rename checkout_hook_path to CHECKOUT_HOOK_PATH. * Rename gdb_version to GDB_VERSION_TEXT. * Replace (gdb_major_version, gdb_minor_version) with GDB_VERSION. * run_gdb() uses "backslashreplace" error handler instead of "replace". * Add check_gdb() function to util.py. * Enhance support.check_cflags_pgo(): check also for sysconfig PGO_PROF_USE_FLAG (if available) in compiler flags. * Move some SkipTest checks to test_gdb/__init__.py. * Elaborate why gdb cannot be tested on Windows: gdb doesn't support PDB debug symbol files. (cherry picked from commit 757cbd4) * pythongh-104736: Fix test_gdb tests on ppc64le with clang (pythonGH-109360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) * pythongh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (pythonGH-110331) CFunctionFullTests now also runs "bt" command before "py-bt-full", similar to CFunctionTests which also runs "bt" command before "py-bt". So test_gdb can skip the test if patterns like "?? ()" are found in the gdb output. (cherry picked from commit bbce8bd) Co-authored-by: Victor Stinner <vstinner@python.org> (cherry picked from commit 1de9406)
…10354) [3.12] gh-109972: Enhance test_gdb (GH-110026) (GH-110351) * gh-109972: Enhance test_gdb (GH-110026) * Split test_pycfunction.py: add test_cfunction_full.py. Split the function into the following 6 functions. In verbose mode, these "pycfunction" tests now log each tested call. * test_pycfunction_noargs() * test_pycfunction_o() * test_pycfunction_varargs() * test_pycfunction_varargs_keywords() * test_pycfunction_fastcall() * test_pycfunction_fastcall_keywords() * Move get_gdb_repr() to PrettyPrintTests. * Replace DebuggerTests.get_sample_script() with SAMPLE_SCRIPT. * Rename checkout_hook_path to CHECKOUT_HOOK_PATH. * Rename gdb_version to GDB_VERSION_TEXT. * Replace (gdb_major_version, gdb_minor_version) with GDB_VERSION. * run_gdb() uses "backslashreplace" error handler instead of "replace". * Add check_gdb() function to util.py. * Enhance support.check_cflags_pgo(): check also for sysconfig PGO_PROF_USE_FLAG (if available) in compiler flags. * Move some SkipTest checks to test_gdb/__init__.py. * Elaborate why gdb cannot be tested on Windows: gdb doesn't support PDB debug symbol files. (cherry picked from commit 757cbd4) * gh-104736: Fix test_gdb tests on ppc64le with clang (GH-109360) Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if "Backtrace stopped: frame did not save the PC" is found. (cherry picked from commit 44d9a71) * gh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (GH-110331) CFunctionFullTests now also runs "bt" command before "py-bt-full", similar to CFunctionTests which also runs "bt" command before "py-bt". So test_gdb can skip the test if patterns like "?? ()" are found in the gdb output. (cherry picked from commit bbce8bd) Co-authored-by: Victor Stinner <vstinner@python.org> (cherry picked from commit 1de9406) Co-authored-by: Victor Stinner <vstinner@python.org>
| Back | FazBrowse Home | New Git URL |
Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora 38). Search patterns in gdb "bt" command output to detect when gdb fails to retrieve the traceback. For example, skip a test if Backtrace stopped: frame did not save the PC is found.