qemu-e2k/tests/avocado
Nicholas Piggin f0ec14c78c tests/avocado: Fix console data loss
Occasionally some avocado tests will fail waiting for console line
despite the machine running correctly. Console data goes missing, as can
be seen in the console log. This is due to _console_interaction calling
makefile() on the console socket each time it is invoked, which must be
losing old buffer contents when going out of scope.

It is not enough to makefile() with buffered=0. That helps significantly
but data loss is still possible. My guess is that readline() has a line
buffer even when the file is in unbuffered mode, that can eat data.

Fix this by providing a console file that persists for the life of the
console.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Message-Id: <20230912131340.405619-1-npiggin@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: John Snow <jsnow@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230914155422.426639-9-alex.bennee@linaro.org>
2023-09-20 15:06:33 +01:00
..
acpi-bits tests/: spelling fixes 2023-09-08 13:08:52 +03:00
avocado_qemu tests/avocado: Fix console data loss 2023-09-20 15:06:33 +01:00
virtiofs_submounts.py.data
acpi-bits.py tests/: spelling fixes 2023-09-08 13:08:52 +03: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.py: Update SDK images 2023-09-01 11:40:04 +02: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: ppc64 reverse debugging tests for pseries and powernv 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".