qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/54] tests/qtest: Enable running qtest on Windows
@ 2022-09-25 11:29 Bin Meng
  2022-09-25 11:29 ` [PATCH v3 01/54] tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable Bin Meng
                   ` (53 more replies)
  0 siblings, 54 replies; 89+ messages in thread
From: Bin Meng @ 2022-09-25 11:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Alex Bennée, Alexander Bulekov,
	Andrew Jeffery, Ani Sinha, Bandan Das, Beraldo Leal, Bin Meng,
	Christian Schoenebeck, Coiby Xu, Cédric Le Goater,
	Daniel P. Berrangé,
	Darren Kenny, Dr. David Alan Gilbert, Eduardo Habkost, Fam Zheng,
	Gerd Hoffmann, Greg Kurz, Hanna Reitz, Igor Mammedov, Jason Wang,
	Joel Stanley, John Snow, Juan Quintela, Kevin Wolf,
	Konstantin Kostiuk, Laurent Vivier, Marcel Apfelbaum,
	Markus Armbruster, Michael Roth, Michael S. Tsirkin,
	Paolo Bonzini, Peter Maydell, Philippe Mathieu-Daudé,
	Qiuhao Li, Richard Henderson, Stefan Hajnoczi, Thomas Huth,
	Wainer dos Santos Moschetta, Willian Rampazzo, Yanan Wang,
	qemu-arm, qemu-block

In preparation to adding virtio-9p support on Windows, this series
enables running qtest on Windows, so that we can run the virtio-9p
tests on Windows to make sure it does not break accidently.

Changes in v3:
- Remove unnecessary "error = NULL" statements
- Split patch "tests: Avoid using hardcoded /tmp in test cases" to separate patches
- Ensure g_autofree variable is initialized
- Use g_steal_pointer() in create_test_img()
- Add another case "boot-serial-test" to justify the change
- Add a usleep(1) in the busy wait loop
- Drop the host test
- Drop patch: "tests: Change to use g_mkdir()"
- Drop patch: "block: Unify the get_tmp_filename() implementation",
  and send it as a separate patch
- Drop patch: "chardev/char-file: Add FILE_SHARE_WRITE when openning the file for win32"

Changes in v2:
- new patch: "tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable"
- Use g_autofree to declare the variable
- Change to use g_mkdir()
- Change to use g_mkdir()
- Change to use g_mkdir()
- Change to skip only part of the virtio-net-test cases that require
  socketpair() intead of disabling all of them
- Introduce a new variable qtests_filter and add that to the
  qtests_ARCH variables
- Add a comment in the code to explain why test_qmp_oob test case
  is skipped on win32
- Replace signal by the semaphore on posix too
- Use __declspec(selectany) for the common weak symbol on Windows
- Introduce qemu_send_full() and use it
- Move the enabling of building qtests on Windows to a separate
  patch to keep bisectablity
- Call socket_init() unconditionally
- Add a missing CloseHandle() call
- Change the place that sets IO redirection in the command line
- Drop ahci-test.c changes that are no longer needed
- Update commit message to include the use case why we should set
  FILE_SHARE_WRITE when opening the file for win32
- Change to a busy wait after migration is canceled
- new patch: "io/channel-watch: Drop the unnecessary cast"
- Change the timeout limit to 90 minutes
- new patch: Display meson test logs in the Windows CI
- new patch: "tests/qtest: Enable qtest build on Windows"
- Minor wording changes
- Drop patches that were already applied in the mainline
- Drop patch: "qga/commands-posix-ssh: Use g_mkdir_with_parents()"
- Drop patch: "tests: Skip iotests and qtest when '--without-default-devices'"
- Drop patch: "tests/qtest: Fix ERROR_SHARING_VIOLATION for win32"

Bin Meng (47):
  tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable
  semihosting/arm-compat-semi: Avoid using hardcoded /tmp
  tcg: Avoid using hardcoded /tmp
  util/qemu-sockets: Use g_get_tmp_dir() to get the directory for
    temporary files
  tests/qtest: ahci-test: Avoid using hardcoded /tmp
  tests/qtest: aspeed_smc-test: Avoid using hardcoded /tmp
  tests/qtest: boot-serial-test: Avoid using hardcoded /tmp
  tests/qtest: cxl-test: Avoid using hardcoded /tmp
  tests/qtest: fdc-test: Avoid using hardcoded /tmp
  tests/qtest: generic_fuzz: Avoid using hardcoded /tmp
  tests/qtest: virtio_blk_fuzz: Avoid using hardcoded /tmp
  tests/qtest: hd-geo-test: Avoid using hardcoded /tmp
  tests/qtest: ide-test: Avoid using hardcoded /tmp
  tests/qtest: migration-test: Avoid using hardcoded /tmp
  tests/qtest: pflash-cfi02-test: Avoid using hardcoded /tmp
  tests/qtest: qmp-test: Avoid using hardcoded /tmp
  tests/qtest: vhost-user-blk-test: Avoid using hardcoded /tmp
  tests/qtest: vhost-user-test: Avoid using hardcoded /tmp
  tests/qtest: virtio-blk-test: Avoid using hardcoded /tmp
  tests/qtest: virtio-scsi-test: Avoid using hardcoded /tmp
  tests/qtest: libqtest: Avoid using hardcoded /tmp
  tests/unit: test-image-locking: Avoid using hardcoded /tmp
  tests/unit: test-qga: Avoid using hardcoded /tmp
  tests: vhost-user-bridge: Avoid using hardcoded /tmp
  block/vvfat: Unify the mkdir() call
  fsdev/virtfs-proxy-helper: Use g_mkdir()
  hw/usb: dev-mtp: Use g_mkdir()
  tests/qtest: Skip running virtio-net-test cases that require
    socketpair() for win32
  tests/qtest: Build test-filter-{mirror,redirector} cases for posix
    only
  tests/qtest: qmp-test: Skip running test_qmp_oob for win32
  tests/qtest: libqtest: Exclude the *_fds APIs for win32
  tests/qtest: libqtest: Install signal handler via signal()
  tests/qtest: Support libqtest to build and run on Windows
  tests/qtest: {ahci,ide}-test: Use relative path for temporary files
    for win32
  tests/qtest: bios-tables-test: Adapt the case for win32
  tests/qtest: migration-test: Disable IO redirection for win32
  tests/qtest: microbit-test: Fix socket access for win32
  tests/qtest: libqtest: Replace the call to close a socket with
    closesocket()
  tests/qtest: libqtest: Correct the timeout unit of blocking receive
    calls for win32
  io/channel-watch: Drop a superfluous '#ifdef WIN32'
  io/channel-watch: Drop the unnecessary cast
  io/channel-watch: Fix socket watch on Windows
  tests/qtest: migration-test: Skip running some TLS cases for win32
  .gitlab-ci.d/windows.yml: Increase the timeout to 90 minutes
  .gitlab-ci.d/windows.yml: Display meson test logs
  tests/qtest: Enable qtest build on Windows
  docs/devel: testing: Document writing portable test cases

Xuzhou Cheng (7):
  accel/qtest: Implement a portable qtest accelerator
  tests/qtest: libqtest: Adapt global_qtest declaration for win32
  tests/qtest: Use send/recv for socket communication
  tests/qtest: ide-test: Open file in binary mode
  tests/qtest: virtio-net-failover: Disable migration tests for win32
  chardev/char-file: Add FILE_SHARE_WRITE when opening the file for
    win32
  tests/qtest: migration-test: Make sure QEMU process "to" exited after
    migration is canceled

 docs/devel/testing.rst                  |  30 +++++
 include/hw/core/cpu.h                   |   1 +
 include/qemu/sockets.h                  |   2 +
 tests/qtest/fuzz/generic_fuzz_configs.h |   4 +-
 tests/qtest/libqtest-single.h           |   4 +
 tests/qtest/libqtest.h                  |   8 ++
 accel/dummy-cpus.c                      |  15 +--
 block/vvfat.c                           |   9 +-
 chardev/char-file.c                     |   4 +-
 fsdev/virtfs-proxy-helper.c             |   3 +-
 hw/usb/dev-mtp.c                        |   4 +-
 io/channel-watch.c                      |  12 +-
 semihosting/arm-compat-semi.c           |   3 +-
 softmmu/cpus.c                          |  10 +-
 tcg/tcg.c                               |   3 +-
 tests/qtest/ahci-test.c                 |  36 ++++--
 tests/qtest/aspeed_smc-test.c           |   5 +-
 tests/qtest/bios-tables-test.c          |  12 +-
 tests/qtest/boot-serial-test.c          |   8 +-
 tests/qtest/cxl-test.c                  |  15 +--
 tests/qtest/fdc-test.c                  |   5 +-
 tests/qtest/fuzz/virtio_blk_fuzz.c      |   4 +-
 tests/qtest/hd-geo-test.c               |  25 ++--
 tests/qtest/i440fx-test.c               |  54 +++-----
 tests/qtest/ide-test.c                  |  30 ++++-
 tests/qtest/libqmp.c                    |   5 +-
 tests/qtest/libqtest.c                  | 157 ++++++++++++++++++++----
 tests/qtest/microbit-test.c             |  10 +-
 tests/qtest/migration-test.c            |  34 ++++-
 tests/qtest/pflash-cfi02-test.c         |   8 +-
 tests/qtest/qmp-test.c                  |  13 +-
 tests/qtest/vhost-user-blk-test.c       |   3 +-
 tests/qtest/vhost-user-test.c           |   8 +-
 tests/qtest/virtio-blk-test.c           |   4 +-
 tests/qtest/virtio-net-failover.c       |   9 +-
 tests/qtest/virtio-net-test.c           |  13 +-
 tests/qtest/virtio-scsi-test.c          |   4 +-
 tests/unit/test-image-locking.c         |   8 +-
 tests/unit/test-qga.c                   |   2 +-
 tests/vhost-user-bridge.c               |   3 +-
 util/osdep.c                            |  33 +++++
 util/qemu-sockets.c                     |   5 +-
 .gitlab-ci.d/windows.yml                |   8 +-
 accel/meson.build                       |   1 +
 accel/qtest/meson.build                 |   1 +
 tests/qtest/meson.build                 |  42 +++----
 46 files changed, 442 insertions(+), 235 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 89+ messages in thread

end of thread, other threads:[~2022-09-27 10:45 UTC | newest]

Thread overview: 89+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-25 11:29 [PATCH v3 00/54] tests/qtest: Enable running qtest on Windows Bin Meng
2022-09-25 11:29 ` [PATCH v3 01/54] tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable Bin Meng
2022-09-26 12:10   ` Thomas Huth
2022-09-25 11:29 ` [PATCH v3 02/54] semihosting/arm-compat-semi: Avoid using hardcoded /tmp Bin Meng
2022-09-25 11:29 ` [PATCH v3 03/54] tcg: " Bin Meng
2022-09-25 11:29 ` [PATCH v3 04/54] util/qemu-sockets: Use g_get_tmp_dir() to get the directory for temporary files Bin Meng
2022-09-25 11:29 ` [PATCH v3 05/54] tests/qtest: ahci-test: Avoid using hardcoded /tmp Bin Meng
2022-09-26 12:17   ` Thomas Huth
2022-09-25 11:29 ` [PATCH v3 06/54] tests/qtest: aspeed_smc-test: " Bin Meng
2022-09-25 16:20   ` Cédric Le Goater
2022-09-26 12:18   ` Thomas Huth
2022-09-25 11:29 ` [PATCH v3 07/54] tests/qtest: boot-serial-test: " Bin Meng
2022-09-26 12:22   ` Thomas Huth
2022-09-25 11:29 ` [PATCH v3 08/54] tests/qtest: cxl-test: " Bin Meng
2022-09-26 13:07   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 09/54] tests/qtest: fdc-test: " Bin Meng
2022-09-26 13:08   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 10/54] tests/qtest: generic_fuzz: " Bin Meng
2022-09-26 13:09   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 11/54] tests/qtest: virtio_blk_fuzz: " Bin Meng
2022-09-26 13:11   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 12/54] tests/qtest: hd-geo-test: " Bin Meng
2022-09-26 13:11   ` Marc-André Lureau
2022-09-26 15:38   ` Thomas Huth
2022-09-25 11:29 ` [PATCH v3 13/54] tests/qtest: ide-test: " Bin Meng
2022-09-26 13:12   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 14/54] tests/qtest: migration-test: " Bin Meng
2022-09-26 13:15   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 15/54] tests/qtest: pflash-cfi02-test: " Bin Meng
2022-09-26 13:18   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 16/54] tests/qtest: qmp-test: " Bin Meng
2022-09-26 13:19   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 17/54] tests/qtest: vhost-user-blk-test: " Bin Meng
2022-09-26 13:20   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 18/54] tests/qtest: vhost-user-test: " Bin Meng
2022-09-26 13:21   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 19/54] tests/qtest: virtio-blk-test: " Bin Meng
2022-09-26 13:21   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 20/54] tests/qtest: virtio-scsi-test: " Bin Meng
2022-09-26 13:21   ` Marc-André Lureau
2022-09-25 11:29 ` [PATCH v3 21/54] tests/qtest: libqtest: " Bin Meng
2022-09-26 13:22   ` Marc-André Lureau
2022-09-25 11:30 ` [PATCH v3 22/54] tests/unit: test-image-locking: " Bin Meng
2022-09-26 13:22   ` Marc-André Lureau
2022-09-25 11:30 ` [PATCH v3 23/54] tests/unit: test-qga: " Bin Meng
2022-09-26 13:23   ` Marc-André Lureau
2022-09-25 11:30 ` [PATCH v3 24/54] tests: vhost-user-bridge: " Bin Meng
2022-09-26 13:23   ` Marc-André Lureau
2022-09-25 11:30 ` [PATCH v3 25/54] block/vvfat: Unify the mkdir() call Bin Meng
2022-09-25 11:30 ` [PATCH v3 26/54] fsdev/virtfs-proxy-helper: Use g_mkdir() Bin Meng
2022-09-25 11:30 ` [PATCH v3 27/54] hw/usb: dev-mtp: " Bin Meng
2022-09-25 11:30 ` [PATCH v3 28/54] tests/qtest: Skip running virtio-net-test cases that require socketpair() for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 29/54] tests/qtest: Build test-filter-{mirror, redirector} cases for posix only Bin Meng
2022-09-25 11:30 ` [PATCH v3 30/54] tests/qtest: qmp-test: Skip running test_qmp_oob for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 31/54] accel/qtest: Implement a portable qtest accelerator Bin Meng
2022-09-25 11:30 ` [PATCH v3 32/54] tests/qtest: libqtest: Adapt global_qtest declaration for win32 Bin Meng
2022-09-26 16:07   ` Thomas Huth
2022-09-25 11:30 ` [PATCH v3 33/54] tests/qtest: Use send/recv for socket communication Bin Meng
2022-09-25 11:30 ` [PATCH v3 34/54] tests/qtest: libqtest: Exclude the *_fds APIs for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 35/54] tests/qtest: libqtest: Install signal handler via signal() Bin Meng
2022-09-26 13:24   ` Marc-André Lureau
2022-09-25 11:30 ` [PATCH v3 36/54] tests/qtest: Support libqtest to build and run on Windows Bin Meng
2022-09-25 11:30 ` [PATCH v3 37/54] tests/qtest: {ahci, ide}-test: Use relative path for temporary files for win32 Bin Meng
2022-09-26 16:20   ` Thomas Huth
2022-09-27  0:17     ` Bin Meng
2022-09-25 11:30 ` [PATCH v3 38/54] tests/qtest: bios-tables-test: Adapt the case " Bin Meng
2022-09-25 12:41   ` Michael S. Tsirkin
2022-09-25 11:30 ` [PATCH v3 39/54] tests/qtest: migration-test: Disable IO redirection " Bin Meng
2022-09-25 11:30 ` [PATCH v3 40/54] tests/qtest: ide-test: Open file in binary mode Bin Meng
2022-09-25 11:30 ` [PATCH v3 41/54] tests/qtest: virtio-net-failover: Disable migration tests for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 42/54] chardev/char-file: Add FILE_SHARE_WRITE when opening the file " Bin Meng
2022-09-26 13:27   ` Marc-André Lureau
2022-09-26 15:05     ` Bin Meng
2022-09-27  9:00       ` Marc-André Lureau
2022-09-27 10:44         ` Bin Meng
2022-09-25 11:30 ` [PATCH v3 43/54] tests/qtest: migration-test: Make sure QEMU process "to" exited after migration is canceled Bin Meng
2022-09-25 11:30 ` [PATCH v3 44/54] tests/qtest: microbit-test: Fix socket access for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 45/54] tests/qtest: libqtest: Replace the call to close a socket with closesocket() Bin Meng
2022-09-25 11:30 ` [PATCH v3 46/54] tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 47/54] io/channel-watch: Drop a superfluous '#ifdef WIN32' Bin Meng
2022-09-25 11:30 ` [PATCH v3 48/54] io/channel-watch: Drop the unnecessary cast Bin Meng
2022-09-25 11:30 ` [PATCH v3 49/54] io/channel-watch: Fix socket watch on Windows Bin Meng
2022-09-25 11:30 ` [PATCH v3 50/54] tests/qtest: migration-test: Skip running some TLS cases for win32 Bin Meng
2022-09-25 11:30 ` [PATCH v3 51/54] .gitlab-ci.d/windows.yml: Increase the timeout to 90 minutes Bin Meng
2022-09-25 11:30 ` [PATCH v3 52/54] .gitlab-ci.d/windows.yml: Display meson test logs Bin Meng
2022-09-26 16:46   ` Thomas Huth
2022-09-25 11:30 ` [PATCH v3 53/54] tests/qtest: Enable qtest build on Windows Bin Meng
2022-09-25 11:30 ` [PATCH v3 54/54] docs/devel: testing: Document writing portable test cases Bin Meng
2022-09-26 16:55   ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).