76e9c1dfb9
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> |
||
---|---|---|
.. | ||
acpi-bits | ||
avocado_qemu | ||
virtiofs_submounts.py.data | ||
acpi-bits.py | ||
boot_linux_console.py | ||
boot_linux.py | ||
boot_xen.py | ||
cpu_queries.py | ||
empty_cpu_model.py | ||
hotplug_cpu.py | ||
info_usernet.py | ||
intel_iommu.py | ||
kvm_xen_guest.py | ||
linux_initrd.py | ||
linux_ssh_mips_malta.py | ||
load_bflt.py | ||
machine_aarch64_sbsaref.py | ||
machine_aarch64_virt.py | ||
machine_arm_canona1100.py | ||
machine_arm_integratorcp.py | ||
machine_arm_n8x0.py | ||
machine_aspeed.py | ||
machine_avr6.py | ||
machine_loongarch.py | ||
machine_m68k_nextcube.py | ||
machine_microblaze.py | ||
machine_mips_fuloong2e.py | ||
machine_mips_loongson3v.py | ||
machine_mips_malta.py | ||
machine_rx_gdbsim.py | ||
machine_s390_ccw_virtio.py | ||
machine_sparc64_sun4u.py | ||
machine_sparc_leon3.py | ||
migration.py | ||
multiprocess.py | ||
netdev-ethtool.py | ||
pc_cpu_hotplug_props.py | ||
ppc_74xx.py | ||
ppc_405.py | ||
ppc_bamboo.py | ||
ppc_mpc8544ds.py | ||
ppc_powernv.py | ||
ppc_prep_40p.py | ||
ppc_pseries.py | ||
ppc_virtex_ml507.py | ||
README.rst | ||
replay_kernel.py | ||
replay_linux.py | ||
reverse_debugging.py | ||
riscv_opensbi.py | ||
smmu.py | ||
tcg_plugins.py | ||
tesseract_utils.py | ||
tuxrun_baselines.py | ||
version.py | ||
virtio_check_params.py | ||
virtio_version.py | ||
virtio-gpu.py | ||
vnc.py | ||
x86_cpu_model_versions.py |
============================================= 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".