Hi Thomas, On 9/15/25 09:42, Thomas Huth wrote:
Here's yet another attempt to remove the avocado dependency from the reverse debugging tests: I basically took Gustavo's patches to rework tests/functional/reverse_debugging.py, but instead of calling that through tests/guest-debug/run-test.py and adding the cumbersome code to support additional test execution logic, I kept our normal way of running tests via pycotap. Instead, the essential logic for running gdb is copied from tests/guest-debug/run-test.py into the new function reverse_debug() that then runs gdb directly with using tests/functional/reverse_debugging.py as the script.
Thanks a lot for this series. It's neat that we don't need to touch meson.build, TAP works, and no additional module is used. Thumbs up from my side :) I just have some minor comments about it, inline in the patches.
Marked as an RFC since this still needs some love... The aarch64 test seems to work already (after applying the fix for the reverse debug there first: https://patchew.org/QEMU/20250603125459.17688-1-1844...@gmail.com/ ), but the ppc64 and x86 tests are currently still completely broken. Also we currently log into two different folders this way, into tests/functional/aarch64/test_reverse_debug.ReverseDebugging_AArch64.test_aarch64_virt for the normal outer test, and into tests/functional/aarch64/reverse_debugging.ReverseDebugging.test_reverse_debugging for the script that is run in gdb ... it's likely ok for the aarch64 test, but the ppc64 test contains two subtests, so we need to come up with a better solution here for the final implementation.
Although I don't know how to fix this last bit, I think besides the log files nothing really changes for any arch in comparison with the current version with Avocado in the tree. Cheers, Gustavo
Gustavo Romero (2): tests/functional: Provide GDB to the functional tests tests/functional: Adapt reverse_debugging to run w/o Avocado configure | 2 + meson.build | 4 + meson_options.txt | 2 + scripts/meson-buildoptions.sh | 2 + .../functional/aarch64/test_reverse_debug.py | 16 +- tests/functional/meson.build | 7 + tests/functional/ppc64/test_reverse_debug.py | 18 +- tests/functional/reverse_debugging.py | 235 +++++++++++------- tests/functional/x86_64/test_reverse_debug.py | 20 +- 9 files changed, 188 insertions(+), 118 deletions(-)