qemu/tests
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
..
avocado target/s390x: support PRNO_TRNG instruction 2022-09-26 17:23:11 +02:00
bench test/crypto: Add test suite for crypto akcipher 2022-05-26 11:41:54 +01:00
data qga: Replace 'blacklist' command line and config file options by 'block-rpcs' 2022-09-20 12:37:00 +02:00
decode decodetree: Extend argument set syntax to allow types 2021-05-01 11:45:35 -07:00
docker tests/docker: remove the Debian base images 2022-09-20 17:22:08 +01:00
fp meson: remove dead assignments 2022-09-01 07:42:37 +02:00
guest-debug tests/guest-debug: better handle gdb crashes 2022-04-20 16:04:20 +01:00
image-fuzzer image-fuzzer: Use OSerror.strerror instead of tuple subscript 2019-11-05 16:36:11 +01:00
include tests: add missing generated sources to testqapi 2020-10-17 10:45:50 -04:00
keys tests/vm: Add Haiku test based on their vagrant images 2020-11-17 09:45:24 +01:00
lcitool tests/docker: update and flatten debian-amd64-cross 2022-09-20 17:22:08 +01:00
migration tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
multiboot Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
perf/block/qcow2 tests/perf: Test lseek influence on qcow2 block-status 2019-06-04 15:20:41 +02:00
plugin tests/plugins: add instruction matching to libinsn.so 2022-02-09 12:08:42 +00:00
qapi-schema meson: remove dead assignments 2022-09-01 07:42:37 +02:00
qemu-iotests tests/qemu-iotests/264: Allow up to 5s for the BLOCK_JOB_CANCEL event to arrive 2022-08-07 18:51:35 +02:00
qtest tests/qtest: boot-serial-test: Close the serial file before starting QEMU 2022-09-27 20:51:21 +02:00
rocker tests: Avoid non-portable 'echo -ARG' 2017-07-11 17:45:00 +02:00
tcg Hexagon update 2022-09-22 13:21:50 -04:00
tsan tests/docker: Added docker build support for TSan. 2020-06-16 14:49:05 +01:00
uefi-test-tools Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
unit tests/unit: test-qga: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
vm Testing and CI changes: 2022-09-21 13:10:51 -04:00
vmstate-static-checker-data hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
check-block.sh tests/qemu-iotests: Move the bash and sanitizer checks to meson.build 2022-04-20 09:46:54 +02:00
dbus-vmstate-daemon.sh tests: add dbus-vmstate-test 2020-01-06 18:41:32 +04:00
Makefile.include tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
meson.build meson: create have_vhost_* variables 2022-05-07 07:46:58 +02:00
requirements.txt tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
test-qht-par.c clean-includes: run it once more 2016-06-16 18:39:03 +02:00
vhost-user-bridge.c tests: vhost-user-bridge: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00