qemu-arm.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/54] tests/qtest: Enable running qtest on Windows
@ 2022-09-27 11:05 Bin Meng
  2022-09-27 11:05 ` [PATCH v4 06/54] tests/qtest: aspeed_smc-test: Avoid using hardcoded /tmp Bin Meng
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Bin Meng @ 2022-09-27 11:05 UTC (permalink / raw)
  To: qemu-devel, Thomas Huth
  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,
	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 v4:
- Do not use g_autofree and g_steal_pointer
- Update the error reporting by using the GError "error" argument
  of g_dir_make_tmp()
- Remove the const from tmpfs declaration
- Replace the whole block with a g_assert_no_error()
- Replace the error reporting with g_assert_no_error()
- Update error reporting
- Move the new text section after the "QTest" section instead
- Use plural in both cases: "on POSIX hosts as well as Windows hosts"
- Use "The following list shows some best practices"
- Fix typo of delimiter
- New patch: "tests/qtest: boot-serial-test: Close the serial file before starting QEMU"
- Drop patch: "chardev/char-file: Add FILE_SHARE_WRITE when openning the file for win32"

Changes in v3:
- Remove unnecessary "error = NULL" statements
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Use g_steal_pointer() in create_test_img()
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Ensure g_autofree variable is initialized
- Split to a separate patch
- Split to a separate patch
- 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

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
- Drop ahci-test.c changes that are no longer needed
- Change the place that sets IO redirection in the command line
- 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 (48):
  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: boot-serial-test: Close the serial file before starting
    QEMU
  tests/qtest: microbit-test: Fix socket access for win32
  tests/qtest: migration-test: Disable IO redirection 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 (6):
  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: migration-test: Make sure QEMU process "to" exited after
    migration is canceled
  tests/qtest: virtio-net-failover: Disable migration tests for win32

 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 +-
 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          |  11 +-
 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               |  24 ++--
 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            |  38 +++++-
 tests/qtest/pflash-cfi02-test.c         |  15 ++-
 tests/qtest/qmp-test.c                  |  17 ++-
 tests/qtest/vhost-user-blk-test.c       |   3 +-
 tests/qtest/vhost-user-test.c           |  10 +-
 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 +++----
 45 files changed, 452 insertions(+), 240 deletions(-)

-- 
2.34.1

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

end of thread, other threads:[~2022-10-03 10:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-27 11:05 [PATCH v4 00/54] tests/qtest: Enable running qtest on Windows Bin Meng
2022-09-27 11:05 ` [PATCH v4 06/54] tests/qtest: aspeed_smc-test: Avoid using hardcoded /tmp Bin Meng
2022-09-27 11:06 ` [PATCH v4 41/54] tests/qtest: microbit-test: Fix socket access for win32 Bin Meng
2022-09-28 10:31 ` [PATCH v4 00/54] tests/qtest: Enable running qtest on Windows Thomas Huth
2022-09-28 15:24   ` Thomas Huth
2022-09-28 15:30     ` Daniel P. Berrangé
2022-10-03  9:25 ` Marc-André Lureau
2022-10-03 10:08   ` Bin Meng

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).