- Sep 30, 2022
-
-
Lev Kujawski authored
Verify correction of EXECUTE DEVICE DIAGNOSTIC introduced in commit 72423831c3 (hw/ide/core: Clear LBA and drive bits for EXECUTE DEVICE DIAGNOSTIC, 2022-05-28). Signed-off-by:
Lev Kujawski <lkujaw@member.fsf.org> Message-Id: <20220707031140.158958-4-lkujaw@member.fsf.org> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
Lev Kujawski authored
Change 'tmp_path' into an array of two members to accommodate another disk image of size TEST_IMAGE_SIZE. This facilitates testing ATA protocol aspects peculiar to secondary devices on the same controller. Signed-off-by:
Lev Kujawski <lkujaw@member.fsf.org> Message-Id: <20220707031140.158958-2-lkujaw@member.fsf.org> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
- Sep 27, 2022
-
-
Bin Meng authored
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>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_dir_make_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Message-Id: <20220927110632.1973965-19-bmeng.cn@gmail.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_dir_make_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Message-Id: <20220927110632.1973965-17-bmeng.cn@gmail.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Message-Id: <20220927110632.1973965-16-bmeng.cn@gmail.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Message-Id: <20220927110632.1973965-13-bmeng.cn@gmail.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Michael Labiuk authored
Move common code for device removing to function. Signed-off-by:
Michael Labiuk <michael.labiuk@virtuozzo.com> Message-Id: <20220920104842.605530-2-michael.labiuk@virtuozzo.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
Some migration test cases use TLS to communicate, but they fail on Windows with the following error messages: qemu-system-x86_64: TLS handshake failed: Insufficient credentials for that request. qemu-system-x86_64: TLS handshake failed: Error in the pull function. query-migrate shows failed migration: TLS handshake failed: Error in the pull function. Disable them temporarily. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Message-Id: <20220925113032.1949844-51-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
close() is a *nix function. It works on any file descriptor, and sockets in *nix are an example of a file descriptor. closesocket() is a Windows-specific function, which works only specifically with sockets. Sockets on Windows do not use *nix-style file descriptors, and socket() returns a handle to a kernel object instead, so it must be closed with closesocket(). In QEMU there is already a logic to handle such platform difference in os-posix.h and os-win32.h, that: * closesocket maps to close on POSIX * closesocket maps to a wrapper that calls the real closesocket() on Windows Replace the call to close a socket with closesocket() instead. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-46-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
Sockets on Windows do not use *nix-style file descriptors, so write()/read()/close() do not work on Windows. Switch over to use send()/recv()/closesocket() which work with sockets on all platforms. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-45-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Xuzhou Cheng authored
These tests use the exec migration protocol, which is unsupported on Windows as of today. Disable these tests for now. Signed-off-by:
Xuzhou Cheng <xuzhou.cheng@windriver.com> Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-42-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Xuzhou Cheng authored
By default Windows opens file in text mode, while a POSIX compliant implementation treats text files and binary files the same. The fopen() 'mode' string can include the letter 'b' to indicate binary mode shall be used. POSIX spec says the character 'b' shall have no effect, but is allowed for ISO C standard conformance. Let's add the letter 'b' which works on both POSIX and Windows. Signed-off-by:
Xuzhou Cheng <xuzhou.cheng@windriver.com> Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-41-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
On Windows the QEMU executable is created via CreateProcess() and IO redirection does not work, so don't bother adding IO redirection to the command line. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-40-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
Single quotes in the arguments (oem_id='CRASH ') are not removed in the Windows environment before it is passed to the QEMU executable. The space in the argument causes the "-acpitable" option parser to think that all of its parameters are done, hence it complains: '-acpitable' requires one of 'data' or 'file' Change to use double quotes which works fine on all platforms. Also /dev/null does not work on win32, and nul should be used. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Michael S. Tsirkin <mst@redhat.com> Message-Id: <20220925113032.1949844-39-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
These test cases uses "blkdebug:path/to/config:path/to/image" for testing. On Windows, absolute file paths contain the delimiter ':' which causes the blkdebug filename parser fail to parse filenames. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-38-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
libqmp.c::qmp_fd_vsend_fds() is not available on Windows, hence any APIs in libqtest that call libqmp.c::qmp_fd_vsend_fds() should be excluded for win32 too. This includes the following: * qtest_qmp_vsend_fds() * qtest_vqmp_fds() * qtest_qmp_fds() * qtest_qmp_add_client() Note qtest_qmp_vsend() was wrongly written to call qmp_fd_vsend_fds() previously, but it should call the non fds version API qmp_fd_vsend(). Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-35-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Xuzhou Cheng authored
Commit dd210749 ("tests/libqtest: Use libqtest-single.h in tests that require global_qtest") moved global_qtest to libqtest-single.h, by declaring global_qtest attribute to be common and weak. This trick unfortunately does not work on Windows, and building qtest test cases results in multiple definition errors of the weak symbol global_qtest, as Windows PE does not have the concept of the so-called weak symbol like ELF in the *nix world. However Windows does provide a trick to declare a variable to be a common symbol, via __declspec(selectany) [1]. It does not provide the "strong override weak" effect but we don't need it in our use case anyway. So let's use it for win32. [1] https://docs.microsoft.com/en-us/cpp/cpp/selectany Signed-off-by:
Xuzhou Cheng <xuzhou.cheng@windriver.com> Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-33-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
The test_qmp_oob test case calls mkfifo() which does not exist on win32. Exclude it. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-31-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
The test-filter-{mirror,redirector} cases use socketpair() API that is only available on POSIX and should only be built for POSIX. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-30-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
Some of the virtio-net-test test cases require socketpair() to do the test setup. Skip them for win32. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-29-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
The qtest library was written to use hardcoded /tmp directory for temporary files. Update to use g_get_tmp_dir() and g_dir_make_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-22-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-21-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-20-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_get_tmp_dir() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-18-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-14-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-12-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_dir_make_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-11-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-10-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_dir_make_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220925113032.1949844-9-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-8-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
Cédric Le Goater <clg@kaod.org> Message-Id: <20220925113032.1949844-7-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
This case was written to use hardcoded /tmp directory for temporary files. Update to use g_file_open_tmp() for a portable implementation. Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-6-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Bin Meng authored
Previously request_{bios, pflash} cases were skipped on win32, mainly due to create_blob_file() calling mmap() which does not exist on win32. This rewirtes create_blob_file() to be portable, so that we can enable these cases on Windows. Suggested-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Bin Meng <bin.meng@windriver.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-2-bmeng.cn@gmail.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
- Sep 23, 2022
-
-
Akihiko Odaki authored
This work is based on: https://patchew.org/QEMU/20220317125534.38706-1-philippe.mathieu.daude@gmail.com/ Simplify the initialization dance by running qemu_init() in the main thread before the Cocoa event loop starts. The secondary thread only runs only qemu_main_loop() and qemu_cleanup(). This fixes a case where addRemovableDevicesMenuItems() calls qmp_query_block() while expecting the main thread to still hold the BQL. Overriding the code after calling qemu_init() is done by dynamically replacing a function pointer variable, qemu_main when initializing ui/cocoa, which unifies the static implementation of main() for builds with ui/cocoa and ones without ui/cocoa. Signed-off-by:
Akihiko Odaki <akihiko.odaki@gmail.com> Message-Id: <20220819132756.74641-2-akihiko.odaki@gmail.com> Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
- Sep 20, 2022
-
-
Juan Quintela authored
Check that the machines are compiled in before calling it Signed-off-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20220902173452.1904-6-quintela@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20220902173452.1904-5-quintela@redhat.com> Reviewed-by:
Ani Sinha <ani@anisinha.ca> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Juan Quintela authored
Signed-off-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20220902173452.1904-4-quintela@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Juan Quintela authored
No code change here, just move test around. Signed-off-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20220902173452.1904-3-quintela@redhat.com> Reviewed-by:
Ani Sinha <ani@anisinha.ca> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
Juan Quintela authored
Every other test function is named: test_acpi_<machine>_<test>() Just make this test the same. Once there, rename "acpi/oem-fields" to "acpi/piix4/oem-fields" so it is consistent with everything else. Signed-off-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20220902173452.1904-2-quintela@redhat.com> Reviewed-by:
Ani Sinha <ani@anisinha.ca> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-