| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
test_gdb now skips tests if it detects that gdb failed to read debug
information because the Python binary is optimized.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add functions with various calling conventions to `_testcapi`, expose them as module-level functions, bound methods, class methods, and static methods, and test calling them and introspecting them through GDB.
https://bugs.python.org/issue37499
Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be>
Automerge-Triggered-By: @pganssle
|
|
|
|
|
|
|
| |
Replace test.support.run_unittest() with unittest.main()
to automatically discover test cases, instead of having
an maintaing manually a list which may be incomplete.
Remove also an unused variable.
|
| |
|
|
|
|
|
| |
test_gdb no longer fails if it gets an "unexpected" message on
stderr: it now ignores stderr. The purpose of test_gdb is to test
that python-gdb.py commands work as expected, not to test gdb.
|
|
|
|
|
| |
As the code paths for various METH_* conventions are diverging due
to optimizations, we should check they continue to be covered by
GDB integration.
|
|
|
|
|
|
|
|
|
|
|
| |
As it changes the way functions are called, the PEP 590 implementation
skipped the functions that the GDB integration is looking for
(by name) to find function calls.
Looking for the new helper `cfunction_call_varargs` hopefully fixes the
tests, and thus buildbots.
The changed frame nuber in test_gdb is due to there being fewer
C calls when calling a built-in method.
|
| |
|
| |
|
|
|
|
| |
(GH-10318)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-O0 (GH-9656)
When Python is built with the intel control-flow protection flags,
-mcet -fcf-protection, gdb is not able to read the stack without
actually jumping inside the function. This means an extra
'next' command is required to make the $pc (program counter)
enter the function and make the stack of the function exposed to gdb.
Co-Authored-By: Marcel Plch <gmarcel.plch@gmail.com>
(cherry picked from commit 9b7c74ca32d1bec7128d550a9ab1b2ddc7046287)
|
|
|
|
|
|
|
|
| |
We cannot simply call locale.getpreferredencoding() here,
as GDB might have been linked against a different version
of Python with a different encoding and coercion policy
with respect to PEP 538 and PEP 540.
Thanks to Victor Stinner for a hint on how to fix this.
|
|
|
|
|
|
|
|
|
| |
(GH-9018)
Sometimes some versions of the shared libraries that are part of the
traceback are compiled in optimised mode and the Program Counter (PC)
is not present, not allowing gdb to walk the frames back. When this
happens, the Python bindings of gdb raise an exception, making the
test impossible to succeed.
|
|
|
|
|
| |
-fcf-protection -O0 (GH-6754)" (#7723)
This reverts commit 9b7c74ca32d1bec7128d550a9ab1b2ddc7046287.
|
|
|
|
|
|
|
|
|
| |
-O0 (#6754)
When Python is built with the intel control-flow protection flags,
-mcet -fcf-protection, gdb is not able to read the stack without
actually jumping inside the function. This means an extra
'next' command is required to make the $pc (program counter)
enter the function and make the stack of the function exposed to gdb.
|
|
|
|
|
|
| |
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
|
|
|
|
| |
Calling builtin method is at most 10% faster.
|
|
|
|
| |
Issue #29367. On Python 2, __init__ name is render as u'__init__'.
|
|
|
|
|
| |
Issue #29367. Use two break points to prevent breakpoint during Python
initialization.
|
|
|
|
|
| |
Issue #29367: python-gdb.py now supports also method-wrapper (wrapperobject)
objects.
|
|
|
|
|
|
|
|
| |
Issue #29259:
* Detect PyCFunction is the current frame, not only in the older frame
* Ignore PyCFunction_Call() since it now calls _PyCFunction_FastCallDict(), and
_PyCFunction_FastCallDict() is already detected
|
|
|
|
|
|
|
|
| |
Frame.is_other_python_frame() now also handles _PyCFunction_FastCallDict()
frames.
Thanks to the new code to handle fast calls, python-gdb.py is now also able to
detect the <built-in id method of module ...> frame.
|
| |
|
|
|
|
|
|
|
| |
And most of the tools.
Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #27350: `dict` implementation is changed like PyPy. It is more compact
and preserves insertion order.
_PyDict_Dummy() function has been removed.
Disable test_gdb: python-gdb.py is not updated yet to the new structure of
compact dictionaries (issue #28023).
Patch written by INADA Naoki.
|
| |
|
| |
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Ignore empty lines in stderr.
|
| | |
|
| | |
|
|/
|
|
| |
Python with more options.
|
|
|
|
|
|
|
| |
Otherwise, GDB seems to affect the terminal's foreground process group,
interfering with test_ioctl, which does not expect the foreground process to
change during the test. This change also solves the problem of the tests
being stopped in the shell if test_gdb is run twice in parallel.
|
|
|
|
| |
These were added in revision b71cda2f48c6.
|
|\ |
|
| |
| |
| |
| | |
Fix the regex to support the version 7.10: minor version with two digits
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
when the test is interrupted (or fail).
|
| |
| |
| |
| |
| | |
Mention also the detected GDB version on verbose mode and on error (if the
major version is smaller than 7).
|
|/
|
|
|
|
|
| |
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.
|