qemu-cr16/tests/functional
Gustavo Romero bddce21619 tests/functional: Adapt reverse_debugging to run w/o Avocado
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.

reverse_debugging now uses the pygdbmi module to interact with GDB, if
it is available in the test environment, otherwise the test is skipped.
GDB is detect via the QEMU_TEST_GDB env. variable.

This commit also significantly improves the output for the test and
now prints all the GDB commands used in sequence. It also adds
some clarifications to existing comments, for example, clarifying that
once the replay-break is reached, a SIGINT is captured in GDB.

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 [...]'.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Message-ID: <20251003141820.85278-9-gustavo.romero@linaro.org>
[AJB: it is and broke long line]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Thomas Huth <thuth@redhat.com>
2025-10-07 07:33:40 +01:00
..
aarch64 hw/arm/aspeed Move ast2700-evb alias to ast2700a1-evb 2025-09-29 18:00:20 +02:00
acpi-bits tests/functional: Convert the acpi-bits test into a standalone test 2024-09-04 11:14:33 +02:00
alpha tests/functional: Move alpha tests into architecture specific folder 2025-08-27 09:46:55 +02:00
arm tests/functional/arm/test_aspeed_ast2600: Add PCIe and network test 2025-09-29 18:00:20 +02:00
avr tests/functional: Move avr tests into architecture specific folder 2025-08-27 09:46:55 +02:00
generic tests/functional: Use vmstate-static-checker.py to test data from v7.2 2025-09-24 08:26:11 +02:00
hppa tests/functional/hppa: Add a CD-ROM boot test for qemu-system-hppa 2025-09-24 08:26:11 +02:00
i386 tests/functional: Move i386 tests into architecture specific folder 2025-08-27 09:46:55 +02:00
loongarch64 tests/functional: Move loongarch64 tests into architecture specific folder 2025-08-27 09:46:55 +02:00
m68k tests/functional: Use vmstate-static-checker.py to test data from v7.2 2025-09-24 08:26:11 +02:00
microblaze tests/functional: Move microblaze tests into architecture specific folder 2025-08-27 09:46:55 +02:00
microblazeel tests/functional: Move microblaze tests into architecture specific folder 2025-08-27 09:46:55 +02:00
mips tests/functional: Move mips tests into target-specific folders 2025-08-27 09:46:55 +02:00
mips64 tests/functional: Move mips tests into target-specific folders 2025-08-27 09:46:55 +02:00
mips64el tests/functional: use self.log for all logging 2025-09-24 08:26:11 +02:00
mipsel tests/functional: Move mips tests into target-specific folders 2025-08-27 09:46:55 +02:00
or1k tests/functional: Move or1k tests into target-specific folders 2025-08-27 09:46:55 +02:00
ppc tests/functional: Add test for IBM PPE42 instructions 2025-09-28 23:39:53 +05:30
ppc64 tests/powernv: Add PowerNV test for Power11 2025-09-28 23:22:07 +05:30
qemu_test tests/functional: Add decorator to skip test on missing env vars 2025-10-07 07:33:40 +01:00
riscv32 tests/functional: Move riscv32/riscv64 tests into target-specific folders 2025-08-27 09:46:55 +02:00
riscv64 tests/functional: Move riscv32/riscv64 tests into target-specific folders 2025-08-27 09:46:55 +02:00
rx tests/functional: Move rx test into target-specific folders 2025-08-27 09:46:55 +02:00
s390x tests/functional: Use vmstate-static-checker.py to test data from v7.2 2025-09-24 08:26:11 +02:00
sh4 tests/functional: Move sh4/sh4eb tests into target-specific folders 2025-08-27 09:46:55 +02:00
sh4eb tests/functional: Move sh4/sh4eb tests into target-specific folders 2025-08-27 09:46:55 +02:00
sparc tests/functional: Move sparc/sparc64 tests into target-specific folders 2025-08-27 09:46:55 +02:00
sparc64 tests/functional: Move sparc/sparc64 tests into target-specific folders 2025-08-27 09:46:55 +02:00
x86_64 tests/functional: add a vfio-user smoke test 2025-09-25 17:55:19 +02:00
xtensa tests/functional: Move xtensa tests into target-specific folder 2025-08-27 09:46:55 +02:00
aspeed.py tests/functional/arm: Add helper to generate OTP images 2025-09-29 18:00:20 +02:00
meson.build tests/functional: Provide GDB to the functional tests 2025-10-07 07:33:40 +01:00
migration.py tests/functional: Rework the migration test to have target-specific files 2025-08-27 09:46:55 +02:00
multiprocess.py tests/functional: Rework the multiprocess test to have target-specific files 2025-08-27 09:46:55 +02:00
replay_kernel.py tests/functional: use self.log for all logging 2025-09-24 08:26:11 +02:00
reverse_debugging.py tests/functional: Adapt reverse_debugging to run w/o Avocado 2025-10-07 07:33:40 +01:00