On Thu, Sep 04, 2025 at 03:46:40PM +0000, Gustavo Romero wrote: > This commit removes Avocado as a dependency for running the > reverse_debugging test. > > The main benefit, beyond eliminating an extra dependency, is that there > is no longer any need to handle GDB packets manually. This removes the > need for ad-hoc functions dealing with endianness and arch-specific > register numbers, making the test easier to read. The timeout variable > is also removed, since Meson now manages timeouts automatically. > > The reverse_debugging test is now executed through a runner, because it > requires GDB in addition to QMP. The runner is responsible for invoking > GDB with the appropriate arguments and for passing the test script to > GDB. > > Since the test now runs inside GDB, its output, particularly from > 'stepi' commands, which cannot be disabled, interleaves with the TAP > output from unittest. To avoid this conflict, the test no longer uses > Meson’s 'tap' protocol and instead relies on the simpler 'exitcode' > protocol. > > reverse_debugging is kept "skipped" for aarch64, ppc64, and x86_64, so > won't run unless QEMU_TEST_FLAKY_TESTS=1 is set in the test environment, > before running 'make check-functional' or 'meson test [...]'. > > Signed-off-by: Gustavo Romero <gustavo.rom...@linaro.org> > --- > tests/functional/aarch64/meson.build | 7 +- > .../functional/aarch64/test_reverse_debug.py | 15 +- > tests/functional/ppc64/meson.build | 7 +- > tests/functional/ppc64/test_reverse_debug.py | 17 +- > tests/functional/reverse_debugging.py | 175 +++++++++--------- > tests/functional/x86_64/meson.build | 7 +- > tests/functional/x86_64/test_reverse_debug.py | 21 +-- > 7 files changed, 131 insertions(+), 118 deletions(-) > > diff --git a/tests/functional/aarch64/meson.build > b/tests/functional/aarch64/meson.build > index 04846c6eb1..4f3168dd55 100644 > --- a/tests/functional/aarch64/meson.build > +++ b/tests/functional/aarch64/meson.build > @@ -32,7 +32,6 @@ tests_aarch64_system_thorough = [ > 'raspi3', > 'raspi4', > 'replay', > - 'reverse_debug', > 'rme_virt', > 'rme_sbsaref', > 'sbsaref', > @@ -46,3 +45,9 @@ tests_aarch64_system_thorough = [ > 'xen', > 'xlnx_versal', > ] > + > +if is_variable('gdb_runner') > +tests_aarch64_system_thorough_with_runner = [ > + ['reverse_debug', gdb_runner, 'exitcode'], > +] > +endif
Why do you need to replace the of 'tap' with 'exitcode' for this script ? I don't like the idea that a subset of our functional tests are not using the TAP protocol. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|