qemu-e2k/tests/qtest
Bin Meng 65a2eff0f5 tests/qtest: boot-serial-test: Close the serial file before starting QEMU
This qtest executable created a serial chardev file to be passed to
the QEMU executable. The serial file was created by g_file_open_tmp(),
which internally opens the file with FILE_SHARE_WRITE security attribute
on Windows. Based on [1], there is only one case that allows the first
call to CreateFile() with GENERIC_READ & FILE_SHARE_WRITE, and second
call to CreateFile() with GENERIC_WRITE & FILE_SHARE_READ. All other
combinations require FILE_SHARE_WRITE in the second call. But there is
no way for the second call (in this case the QEMU executable) to know
what combination was passed to the first call, unless FILE_SHARE_WRITE
is passed to the second call.

Two processes shouldn't share the same file for writing with a chardev.
Let's close the serial file before starting QEMU.

[1] https://docs.microsoft.com/en-us/windows/win32/fileio/creating-and-opening-files

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Message-Id: <20220927110632.1973965-40-bmeng.cn@gmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-09-27 20:51:21 +02:00
..
fuzz tests/qtest: virtio_blk_fuzz: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
libqos tests/qtest: libqos: Rename malloc.h to libqos-malloc.h 2022-08-29 15:28:51 +02:00
ac97-test.c tests/qtest/ac97-test: Correct reference to driver 2022-08-29 15:29:13 +02:00
acpi-utils.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
acpi-utils.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
adm1272-test.c tests/qtest: add tests for ADM1272 device model 2021-07-08 14:41:59 -05:00
ahci-test.c tests/qtest: {ahci, ide}-test: Use relative path for temporary files for win32 2022-09-27 20:51:21 +02:00
am53c974-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
arm-cpu-features.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04: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 Align Raspberry Pi DMA interrupts with Linux DTS 2022-07-18 13:25:13 +01:00
bios-tables-test-allowed-diff.h tests/acpi: virt: update golden masters for VIOT 2022-06-09 19:32:49 -04:00
bios-tables-test.c tests/qtest: bios-tables-test: Adapt the case for win32 2022-09-27 20:51:21 +02:00
boot-order-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
boot-sector.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04: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: boot-serial-test: Close the serial file before starting QEMU 2022-09-27 20:51:21 +02:00
cdrom-test.c tests/qtest: Use g_mkdtemp() 2022-08-25 15:16:13 +02:00
cmsdk-apb-dualtimer-test.c
cmsdk-apb-timer-test.c
cmsdk-apb-watchdog-test.c
cpu-plug-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
cxl-test.c tests/qtest: cxl-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
dbus-display-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
dbus-vmstate-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
device-introspect-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
device-plug-test.c tests/x86: Move common code to function in device-plug-test 2022-09-27 20:51:21 +02:00
display-vga-test.c
drive_del-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
ds1338-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
e1000-test.c tests: Fix error strings 2022-09-20 11:23:02 +02:00
e1000e-test.c tests/qtest: libqos: Rename malloc.h to libqos-malloc.h 2022-08-29 15:28:51 +02:00
eepro100-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
emc141x-test.c sensor: Move hardware sensors from misc to a sensor directory 2021-06-17 07:10:32 -05:00
endianness-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
erst-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
es1370-test.c tests: Fix error strings 2022-09-20 11:23:02 +02:00
fdc-test.c tests/qtest: fdc-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +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 qtest/fuzz-lsi53c895a-test: set guest RAM to 2G 2022-09-19 15:12:28 +02:00
fuzz-megasas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
fuzz-sb16-test.c tests: sb16 has both pc and q35 tests 2022-09-20 12:34:31 +02:00
fuzz-sdcard-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
fuzz-virtio-scsi-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
fuzz-xlnx-dp-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04: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: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
hexloader-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04: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: ide-test: Open file in binary mode 2022-09-27 20:51:21 +02:00
intel-hda-test.c tests: Only run intel-hda-tests if machine type is compiled in 2022-09-20 12:34:31 +02:00
ioh3420-test.c
ipmi-bt-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
ipmi-kcs-test.c tests: Avoid side effects inside g_assert() arguments 2021-05-14 12:28:01 +02:00
ipoctal232-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
isl_pmbus_vr-test.c hw/sensor: add Renesas raa228000 device 2022-03-08 18:46:48 +01:00
ivshmem-test.c tests/qtest: Use g_mkdtemp() 2022-08-25 15:16:13 +02:00
libqmp.c tests: make libqmp buildable for win32 2022-05-28 11:42:56 +02: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: libqtest: Replace the call to close a socket with closesocket() 2022-09-27 20:51:21 +02:00
libqtest.h tests/qtest: libqtest: Exclude the *_fds APIs for win32 2022-09-27 20:51:21 +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 hw/sensor: Add lsm303dlhc magnetometer device 2022-02-08 10:56:29 +00:00
m48t59-test.c tests/qtest: Adapt {m48t59,rtc}-test cases for win32 2022-08-25 15:24:09 +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 tests/qtest: add tests for MAX34451 device model 2021-07-08 14:42:00 -05:00
megasas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
meson.build tests/qtest: Build test-filter-{mirror, redirector} cases for posix only 2022-09-27 20:51:21 +02:00
microbit-test.c tests/qtest: microbit-test: Fix socket access for win32 2022-09-27 20:51:21 +02:00
migration-helpers.c tests/qtest: migration-test: Skip running test_migrate_fd_proto on win32 2022-08-25 15:24:09 +02:00
migration-helpers.h tests/qtest: migration-test: Skip running test_migrate_fd_proto on win32 2022-08-25 15:24:09 +02:00
migration-test.c tests/qtest: migration-test: Skip running some TLS cases for win32 2022-09-27 20:51:21 +02:00
modules-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
ne2000-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
npcm7xx_adc-test.c hw/adc: Fix CONV bit in NPCM7XX ADC CON register 2022-07-18 13:20:14 +01: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 qtest/npcm7xx_pwm-test: Fix memory leak in mft_qom_set 2022-06-03 08:03:28 +02:00
npcm7xx_rng-test.c include: move C/util-related declarations to cutils.h 2022-04-06 14:31:43 +02:00
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
npcm7xx_watchdog_timer-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
numa-test.c qtest/numa-test: Correct CPU and NUMA association in aarch64_numa_cpu() 2022-05-09 11:47:55 +01: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-cfi02-test: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
pnv-xscom-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04: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 tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pvpanic-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pxe-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
q35-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
qmp-cmd-test.c softmmu/dirtylimit: Implement dirty page rate limit 2022-07-20 12:15:08 +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: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
qos-test.c tests/qtest: libqos: Rename malloc.h to libqos-malloc.h 2022-08-29 15:28:51 +02:00
readconfig-test.c tests/qtest: misc tweaks to readconfig 2022-08-16 11:36:21 +02:00
rtas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
rtc-test.c tests/qtest: Adapt {m48t59,rtc}-test cases for win32 2022-08-25 15:24:09 +02:00
rtl8139-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sdhci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
spapr-phb-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
sse-timer-test.c tests/qtest/sse-timer-test: Test counter scaling changes 2021-03-08 17:20:03 +00:00
tco-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-arm-mptimer.c
test-filter-mirror.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-filter-redirector.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-hmp.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-netfilter.c tests/qtest: Make the filter tests independent from a specific NIC 2021-12-22 08:13:05 +01:00
test-x86-cpuid-compat.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
tmp105-test.c sensor: Move hardware sensors from misc to a sensor directory 2021-06-17 07:10:32 -05:00
tpm-crb-swtpm-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-crb-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-emu.c tests: Use QMP to check whether a TPM device model is available 2021-08-31 17:33:12 -04:00
tpm-emu.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-tests.c tests/qtest/tpm-tests: Remove unnecessary NULL checks 2021-06-03 16:43:27 +01:00
tpm-tests.h
tpm-tis-device-swtpm-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-tis-device-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-tis-swtpm-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-tis-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-tis-util.c tests: Rename TestState to TPMTestState 2021-08-31 17:33:10 -04:00
tpm-tis-util.h
tpm-util.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-util.h
tulip-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
usb-hcd-ehci-test.c
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c
usb-hcd-xhci-test.c
vhost-user-blk-test.c tests/qtest: vhost-user-blk-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
vhost-user-test.c tests/qtest: vhost-user-test: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
virtio-9p-test.c tests/9pfs: check fid being unaffected in fs_walk_2nd_nonexistent 2022-06-16 12:44:52 +02:00
virtio-blk-test.c tests/qtest: virtio-blk-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
virtio-ccw-test.c
virtio-iommu-test.c tests/qtest/virtio-iommu-test: Check bypass config 2022-03-06 05:08:23 -05:00
virtio-net-failover.c tests/qtest: virtio-net-failover: Disable migration tests for win32 2022-09-27 20:51:21 +02:00
virtio-net-test.c tests/qtest: Skip running virtio-net-test cases that require socketpair() for win32 2022-09-27 20:51:21 +02: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/qtest: virtio-scsi-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +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: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vmxnet3-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +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