qemu-e2k/tests/avocado
Nicholas Piggin 76e9c1dfb9 tests/avocado: reverse-debugging cope with re-executing breakpoints
The reverse-debugging test creates a trace, then replays it and:

1. Steps the first 10 instructions and records their addresses.
2. Steps backward and verifies their addresses match.
3. Runs to (near) the end of the trace.
4. Sets breakpoints on the first 10 instructions.
5. Continues backward and verifies execution stops at the last
   breakpoint.

Step 5 breaks if any of the other 9 breakpoints are re-executed in the
trace after the 10th instruction is run, because those will be
unexpectedly hit when reverse continuing. This situation does arise
with the ppc pseries machine, the SLOF bios branches to its own entry
point.

Deal with this by switching steps 3 and 4, so the trace will be run to
the end *or* one of the breakpoints being re-executed. Step 5 then
reverses from there to the 10th instruction will not hit a breakpoint in
between, by definition.

Another step is added between steps 2 and 3, which steps forward over
the first 10 instructions and verifies their addresses, to support this.

Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
2023-09-06 11:19:33 +02:00
..
acpi-bits acpi/tests/avocado/bits: add SPDX license identifiers for bios bits tests 2022-12-21 07:32:24 -05:00
avocado_qemu avocado_qemu/__init__.py: factor out the qemu-img finding 2023-04-27 14:58:23 +01:00
virtiofs_submounts.py.data
acpi-bits.py acpi/tests/avocado/bits: enable bios bits avocado tests on gitlab CI pipeline 2023-05-22 10:32:59 +02:00
boot_linux_console.py tests/avocado: Make the test_arm_bpim2u_gmac test more reliable 2023-07-03 12:51:58 +01:00
boot_linux.py tests/avocado: disable BootLinuxPPC64 test in CI 2023-03-01 12:51:01 +00:00
boot_xen.py
cpu_queries.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
empty_cpu_model.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
hotplug_cpu.py
info_usernet.py tests/avocado: set -machine none for userfwd and vnc tests 2022-10-31 20:37:59 +00:00
intel_iommu.py
kvm_xen_guest.py tests/avocado: Test Xen guest support under KVM 2023-04-04 15:56:44 +01:00
linux_initrd.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
linux_ssh_mips_malta.py tests/avocado: Make ssh_command_output_contains() globally available 2023-04-27 14:58:23 +01:00
load_bflt.py tests/avocado: Add bFLT loader linux-user test 2021-11-08 17:00:22 +01:00
machine_aarch64_sbsaref.py tests/avocado: Disable the test_sbsaref_edk2_firmware by default 2023-07-18 11:22:51 +02:00
machine_aarch64_virt.py tests/avocado: update AArch64 tests to Alpine 3.17.2 2023-03-22 15:04:52 +00:00
machine_arm_canona1100.py tests/avocado: Update the URLs of the advent calendar images 2022-11-23 10:58:48 +01:00
machine_arm_integratorcp.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_arm_n8x0.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_aspeed.py tests/avocado/machine_aspeed: Fix the broken ast2[56]00_evb_sdk tests 2023-04-27 14:58:23 +01:00
machine_avr6.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_loongarch.py tests/avocado: Add LoongArch machine start test 2023-05-15 19:09:33 +08:00
machine_m68k_nextcube.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_microblaze.py tests/avocado: Update the URLs of the advent calendar images 2022-11-23 10:58:48 +01:00
machine_mips_fuloong2e.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_mips_loongson3v.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_mips_malta.py tests/avocado: Add tests booting YAMON ROM on MIPS Malta machines 2023-01-13 09:32:32 +01:00
machine_rx_gdbsim.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
machine_s390_ccw_virtio.py tests/avocado/machine_s390_ccw_virtio: Skip the flaky virtio-gpu test by default 2023-07-24 18:44:48 +02:00
machine_sparc64_sun4u.py tests/avocado: Update the URLs of the advent calendar images 2022-11-23 10:58:48 +01:00
machine_sparc_leon3.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
migration.py tests/avocado/migration: Remove the malfunctioning s390x tests 2023-07-24 18:44:48 +02:00
multiprocess.py tests/avocado: probe for multi-process support before running test 2023-03-22 15:06:28 +00:00
netdev-ethtool.py igb: Notify only new interrupts 2023-05-23 15:20:15 +08:00
pc_cpu_hotplug_props.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00
ppc_74xx.py avocado/ppc_74xx.py: check TCG accel for all tests 2022-03-14 15:57:17 +01:00
ppc_405.py avocado/ppc_405.py: check TCG accel in test_ppc_ref405ep() 2022-03-14 15:57:17 +01:00
ppc_bamboo.py tests/avocado: Add missing require_netdev('user') checks 2022-10-11 17:25:50 +02:00
ppc_mpc8544ds.py tests/avocado: Update the URLs of the advent calendar images 2022-11-23 10:58:48 +01:00
ppc_powernv.py tests/avocado: Add powernv machine test script 2023-07-07 04:47:49 -03:00
ppc_prep_40p.py avocado/ppc_prep_40p.py: check TCG accel in all tests 2022-03-14 15:57:17 +01:00
ppc_pseries.py tests/avocado: ppc test VOF bios Linux boot 2023-06-25 22:41:31 +02:00
ppc_virtex_ml507.py tests/avocado: Update the URLs of the advent calendar images 2022-11-23 10:58:48 +01:00
README.rst
replay_kernel.py tests/avocado: boot ppc64 pseries replay-record test to Linux VFS mount 2023-09-06 11:19:33 +02:00
replay_linux.py tests/avocado: Do not run tests that require libslirp if it is not available 2022-08-29 15:28:51 +02:00
reverse_debugging.py tests/avocado: reverse-debugging cope with re-executing breakpoints 2023-09-06 11:19:33 +02:00
riscv_opensbi.py tests/avocado: riscv: Enable 32-bit Spike OpenSBI boot testing 2023-07-10 22:29:14 +10:00
smmu.py
tcg_plugins.py tests/avocado: fix tcg_plugin mem access count test 2021-11-29 15:12:56 +00:00
tesseract_utils.py
tuxrun_baselines.py tests/avocado/tuxrun_baselines: Fix ppc64 tests for binaries without slirp 2023-06-10 10:19:24 -03:00
version.py tests/avocado: add machine:none tag to version.py 2023-02-27 13:27:04 +00:00
virtio_check_params.py tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
virtio_version.py tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
virtio-gpu.py tests/avocado/virtio-gpu: Cancel test if drm rendering is not available 2023-05-30 13:24:51 -07:00
vnc.py tests/avocado: set -machine none for userfwd and vnc tests 2022-10-31 20:37:59 +00:00
x86_cpu_model_versions.py tests/avocado: Rename avocado_qemu.Test -> QemuSystemTest 2021-11-08 17:00:22 +01:00

=============================================
Integration tests using the Avocado Framework
=============================================

This directory contains integration tests. They're usually higher
level, and may interact with external resources and with various
guest operating systems.

For more information, please refer to ``docs/devel/testing.rst``,
section "Integration tests using the Avocado Framework".