qemu/tests/qtest
Daniel P. Berrangé cc91ca64d8 net: add explicit info about connecting/listening state
When running 'info network', if the stream backend is still in
the process of connecting, or waiting for an incoming connection,
no information is displayed.

There is also no way to distinguish whether the server is still
in the process of setting up the listener socket, or whether it
is ready to accept incoming client connections.

This leads to a race condition in the netdev-socket qtest which
launches a server process followed by a client process. Under
high load conditions it is possible for the client to attempt
to connect before the server is accepting clients. For the
scenarios which do not set the 'reconnect' option, this opens
up a race which can lead to the test scenario failing to reach
the expected state.

Now that 'info network' can distinguish between initialization
phase and the listening phase, the netdev-socket qtest will
correctly synchronize, such that the client QEMU is not spawned
until the server is ready.

This should solve the non-deterministic failures seen with the
netdev-socket qtest.

Signed-off-by: "Daniel P. Berrangé" <berrange@redhat.com>
Message-ID: <20240104162942.211458-5-berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2024-01-11 11:39:26 +01:00
..
fuzz fuzz: Correct invalid mentions of 'softmmu' by 'system' 2023-10-07 19:02:33 +02:00
libqos igb: RX payload guest writting refactoring 2023-09-18 14:36:13 +08:00
ac97-test.c tests/qtest/ac97-test: add up-/downsampling tests 2023-05-26 09:10:49 +02:00
acpi-utils.c
acpi-utils.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
adm1266-test.c tests/qtest: add tests for ADM1266 2023-11-07 13:08:49 +01:00
adm1272-test.c
ahci-test.c tests/qtest: ahci-test: add test exposing reset issue with pending callback 2023-11-07 13:08:48 +01:00
am53c974-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
arm-cpu-features.c target/arm: Implement FEAT_PACQARMA3 2023-09-08 12:50:44 +01:00
aspeed_gpio-test.c hw/gpio/aspeed: Don't let guests modify input pins 2022-07-14 16:24:38 +02:00
aspeed_hace-test.c Misc cleanups 2022-05-03 09:13:17 -07:00
aspeed_smc-test.c tests/qtest: aspeed_smc-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
bcm2835-dma-test.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
bios-tables-test-allowed-diff.h tests: bios-tables-test: Add ACPI table binaries for smbios type4 thread count2 test 2023-11-07 03:39:11 -05:00
bios-tables-test.c tests: bios-tables-test: Rename smbios type 4 related test functions 2023-12-25 11:34:55 -05:00
boot-order-test.c tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success 2023-05-16 09:14:18 +02:00
boot-sector.c tests: boot_sector_test(): make it multi-shot 2023-01-28 06:21:29 -05:00
boot-sector.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
boot-serial-test.c tests/qtest: Fix tests when no KVM or TCG are present 2023-05-02 10:54:32 +01:00
cdrom-test.c tests/cdrom-test: Clean up global variable shadowing in prepare_image() 2023-10-27 09:39:08 +02:00
cmsdk-apb-dualtimer-test.c
cmsdk-apb-timer-test.c
cmsdk-apb-watchdog-test.c
cpu-plug-test.c
cxl-test.c tests/qtest/cxl-test: Clean up temporary directories after testing 2023-06-26 09:01:33 +02:00
dbus-display-test.c tests: make dbus-display-test work on win32 2023-06-27 17:08:56 +02:00
dbus-vmstate-test.c tests/qtest: Use EXIT_FAILURE instead of magic number 2022-10-28 14:31:49 +02:00
device-introspect-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
device-plug-test.c target/ppc: Add POWER9 DD2.2 model 2023-05-28 13:25:11 -03:00
display-vga-test.c tests/qtest/display-vga-test: Add proper checks if a device is available 2023-01-31 09:05:26 +01:00
drive_del-test.c tests/qtest: drive_del-test: Skip tests that require missing devices 2023-02-14 09:11:27 +01:00
ds1338-test.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
e1000-test.c tests: Fix error strings 2022-09-20 11:23:02 +02:00
e1000e-test.c tests/qtest/e1000e-test: Fabricate ethernet header 2023-03-10 17:26:47 +08:00
eepro100-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
emc141x-test.c
endianness-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
erst-test.c tests: add G_GNUC_PRINTF for various functions 2023-01-11 10:44:34 +01:00
es1370-test.c tests/qtest: Specify audiodev= and -audiodev 2023-09-22 16:30:08 +02:00
fdc-test.c tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success 2023-05-16 09:14:18 +02:00
fuzz-e1000e-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
fuzz-lsi53c895a-test.c hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330) 2023-05-26 09:37:04 +02:00
fuzz-megasas-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-sb16-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-sdcard-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-virtio-scsi-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-xlnx-dp-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fw_cfg-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
hd-geo-test.c tests/qtest/hd-geo-test: fix incorrect pcie-root-port usage and simplify test 2023-07-10 18:59:32 -04:00
hexloader-test.c cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
i440fx-test.c tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable 2022-09-27 20:51:20 +02:00
i82801b11-test.c
ide-test.c tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success 2023-05-16 09:14:18 +02:00
igb-test.c igb: Introduce qtest for igb device 2023-03-10 17:26:47 +08:00
intel-hda-test.c tests/qtest: Specify audiodev= and -audiodev 2023-09-22 16:30:08 +02:00
ioh3420-test.c
ipmi-bt-test.c ipmi-bt-test: force ipv4 2023-10-27 10:13:17 +02:00
ipmi-kcs-test.c
ipoctal232-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
isl_pmbus_vr-test.c
ivshmem-test.c tests: add G_GNUC_PRINTF for various functions 2023-01-11 10:44:34 +01:00
libqmp.c tests: add G_GNUC_PRINTF for various functions 2023-01-11 10:44:34 +01:00
libqmp.h tests: make libqmp buildable for win32 2022-05-28 11:42:56 +02:00
libqtest-single.h tests/qtest: libqtest: Adapt global_qtest declaration for win32 2022-09-27 20:51:21 +02:00
libqtest.c tests/qtest: Don't print messages from query instances 2023-10-20 08:51:41 +02:00
libqtest.h tests/qtest: Introduce qtest_resolve_machine_alias 2023-10-20 08:51:41 +02:00
lpc-ich9-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
lsm303dlhc-mag-test.c
m48t59-test.c m48t59-test: avoid possible overflow on ABS 2023-09-26 16:39:29 +02:00
machine-none-test.c tests/qtest: machine-none-test: Use double quotes to pass the cpu option 2022-08-29 15:28:51 +02:00
max34451-test.c hw/i2c: pmbus: reset page register for out of range reads 2023-11-07 13:08:49 +01:00
megasas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
meson.build configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
microbit-test.c microbit: add missing qtest_quit() call 2023-09-20 15:06:33 +01:00
migration-helpers.c tests/qtest: precopy migration with suspend 2024-01-04 09:52:42 +08:00
migration-helpers.h tests/qtest: precopy migration with suspend 2024-01-04 09:52:42 +08:00
migration-test.c tests/qtest: postcopy migration with suspend 2024-01-04 09:52:42 +08:00
modules-test.c blkio: add libblkio block driver 2022-10-26 14:56:42 -04:00
ne2000-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
netdev-socket.c net: add explicit info about connecting/listening state 2024-01-11 11:39:26 +01:00
npcm7xx_adc-test.c tests/npcm7xx_adc: Clean up global variable shadowing 2023-10-27 09:39:08 +02:00
npcm7xx_emc-test.c tests/qtest: npcm7xx-emc-test: Skip checking MAC 2022-09-19 15:12:28 +02:00
npcm7xx_gpio-test.c
npcm7xx_pwm-test.c tests/qtest/npcm7xx_pwm-test: Only do full testing in slow mode 2023-12-20 10:29:23 +01:00
npcm7xx_rng-test.c
npcm7xx_sdhci-test.c tests/qtest: Reduce npcm7xx_sdhci test image size 2022-06-10 14:32:35 +01:00
npcm7xx_smbus-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
npcm7xx_timer-test.c tests/qtest: Fix npcm7xx_timer-test.c flaky test 2023-10-12 14:11:44 +02:00
npcm7xx_watchdog_timer-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
numa-test.c hw/i386/pc: improve physical address space bound check for 32-bit x86 systems 2023-10-04 18:15:06 -04:00
nvme-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pca9552-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pcnet-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pflash-cfi02-test.c tests/qtest/pflash: Clean up local variable shadowing 2023-09-12 12:07:31 +02:00
pnv-xscom-test.c tests/qtest: Add xscom tests for powernv10 machine 2023-07-07 04:49:06 -03:00
prom-env-test.c tests/qtest: prom-env-test: Use double quotes to pass the prom-env option 2022-08-29 15:28:51 +02:00
pvpanic-pci-test.c cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
pvpanic-test.c cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
pxe-test.c tests/qtest: Fix tests when no KVM or TCG are present 2023-05-02 10:54:32 +01:00
q35-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
qmp-cmd-test.c qapi: Add HV_BALLOON_STATUS_REPORT event and its QMP query command 2023-11-06 14:08:10 +01:00
qmp-test.c tests/qtest: qmp-test: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
qom-test.c tests/qtest/qom-test: Stop spamming the test log 2023-01-26 13:25:07 +01:00
qos-test.c tests/qtest: use qos_printf instead of g_test_message 2022-10-07 09:41:51 -04:00
qtest_aspeed.c qtest: Add functions for accessing devices on Aspeed I2C controller 2023-04-20 11:25:32 +02:00
qtest_aspeed.h qtest: Add functions for accessing devices on Aspeed I2C controller 2023-04-20 11:25:32 +02:00
readconfig-test.c tests/qtest/readconfig: Test the docs/config/q35-*.cfg files 2023-07-10 15:34:57 +02:00
rtas-test.c tests: add G_GNUC_PRINTF for various functions 2023-01-11 10:44:34 +01:00
rtc-test.c tests/qtest: Adapt {m48t59,rtc}-test cases for win32 2022-08-25 15:24:09 +02:00
rtl8139-test.c tests/rtl8139: Clean up global variable shadowing 2023-10-27 09:39:08 +02:00
sdhci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
sifive-e-aon-watchdog-test.c tests/qtest: sifive-e-aon-watchdog-test.c: Add QTest of watchdog of sifive_e 2023-07-10 22:29:15 +10:00
spapr-phb-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
sse-timer-test.c
tco-test.c hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
test-arm-mptimer.c
test-filter-mirror.c tests/qtest: check the return value 2023-12-04 15:12:57 +01:00
test-filter-redirector.c tests/qtest: check the return value 2023-12-04 15:12:57 +01:00
test-hmp.c tests/qtest/test-hmp: Fix migrate_set_parameter xbzrle-cache-size test 2023-09-08 13:08:52 +03:00
test-netfilter.c
test-x86-cpuid-compat.c pc_piix: remove pc-i440fx-1.4 up to pc-i440fx-1.7 2023-09-25 18:25:02 +02:00
tmp105-test.c
tpm-crb-swtpm-test.c qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-crb-test.c qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-emu.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
tpm-emu.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-tests.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
tpm-tests.h tests/: spelling fixes 2023-09-08 13:08:52 +03:00
tpm-tis-device-swtpm-test.c qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-tis-device-test.c
tpm-tis-i2c-test.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
tpm-tis-swtpm-test.c qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-tis-test.c
tpm-tis-util.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
tpm-tis-util.h qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-util.c qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tpm-util.h qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it 2023-04-20 11:25:32 +02:00
tulip-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
ufs-test.c tests/qtest/ufs-test.c: spelling fix: tranfer 2023-11-15 12:06:05 +03:00
usb-hcd-ehci-test.c tests/qtest/usb-hcd-ehci-test: Check for EHCI and UHCI HCDs before using them 2023-05-26 09:10:49 +02:00
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c tests/qtest/usb-hcd: Remove the empty "init" tests 2023-09-08 13:08:52 +03:00
usb-hcd-xhci-test.c tests/qtest/usb-hcd: Remove the empty "init" tests 2023-09-08 13:08:52 +03:00
vhost-user-blk-test.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
vhost-user-test.c tests/qtest: enable tests for virtio-scmi 2023-07-10 16:17:08 -04:00
virtio-9p-test.c tests/9p: merge v9fs_tunlinkat() and do_unlinkat() 2022-10-24 12:24:32 +02:00
virtio-blk-test.c tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success 2023-05-16 09:14:18 +02:00
virtio-ccw-test.c tests/qtest: Check for the availability of virtio-ccw devices before using them 2023-05-22 09:44:48 +02:00
virtio-iommu-test.c
virtio-net-failover.c qtest: use correct boolean type for failover property 2024-01-11 11:39:26 +01:00
virtio-net-test.c tests/qtest: check the return value 2023-12-04 15:12:57 +01:00
virtio-rng-test.c tests/qtest/libqos: Skip hotplug tests if pci root bus is not hotpluggable 2022-05-12 12:07:06 +02:00
virtio-scsi-test.c tests/virtio-scsi: Clean up global variable shadowing 2023-10-27 09:39:08 +02:00
virtio-serial-test.c
virtio-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vmgenid-test.c tests/: spelling fixes 2023-09-08 13:08:52 +03:00
vmxnet3-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vnc-display-test.c qtest: enable vnc-display test on win32 2023-03-13 15:41:32 +04:00
wdt_ib700-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
xlnx-can-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
xlnx-canfd-test.c tests/qtest: xlnx-canfd-test: Fix code coverity issues 2023-07-06 13:26:43 +01:00
xlnx-versal-trng-test.c tests/qtest: Introduce tests for AMD/Xilinx Versal TRNG device 2023-11-02 14:42:03 +00:00