From: Thomas Huth <thuth@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: "Bin Meng" <bin.meng@windriver.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PULL 21/21] tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for win32
Date: Fri, 28 Oct 2022 15:23:04 +0200 [thread overview]
Message-ID: <20221028132304.829103-22-thuth@redhat.com> (raw)
In-Reply-To: <20221028132304.829103-1-thuth@redhat.com>
From: Bin Meng <bin.meng@windriver.com>
Some qtest cases don't get response from the QEMU executable under
test in time on Windows. It turns out that the socket receive call
got timeout before it receive the complete response.
The timeout value is supposed to be set to 50 seconds via the
setsockopt() call, but there is a difference among platforms.
The timeout unit of blocking receive calls is measured in
seconds on non-Windows platforms but milliseconds on Windows.
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221028045736.679903-10-bin.meng@windriver.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/libqtest.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index e1e2d39a6e..2fbc3b88f3 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -36,13 +36,14 @@
#include "qapi/qmp/qstring.h"
#define MAX_IRQ 256
-#define SOCKET_TIMEOUT 50
#ifndef _WIN32
+# define SOCKET_TIMEOUT 50
# define CMD_EXEC "exec "
# define DEV_STDERR "/dev/fd/2"
# define DEV_NULL "/dev/null"
#else
+# define SOCKET_TIMEOUT 50000
# define CMD_EXEC ""
# define DEV_STDERR "2"
# define DEV_NULL "nul"
@@ -106,8 +107,16 @@ static int socket_accept(int sock)
struct sockaddr_un addr;
socklen_t addrlen;
int ret;
+ /*
+ * timeout unit of blocking receive calls is different among platfoms.
+ * It's in seconds on non-Windows platforms but milliseconds on Windows.
+ */
+#ifndef _WIN32
struct timeval timeout = { .tv_sec = SOCKET_TIMEOUT,
.tv_usec = 0 };
+#else
+ DWORD timeout = SOCKET_TIMEOUT;
+#endif
if (setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO,
(void *)&timeout, sizeof(timeout))) {
--
2.31.1
next prev parent reply other threads:[~2022-10-28 13:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-28 13:22 [PULL 00/21] s390x and qtest patches Thomas Huth
2022-10-28 13:22 ` [PULL 01/21] s390x/pv: remove semicolon from macro definition Thomas Huth
2022-10-28 13:22 ` [PULL 02/21] s390x: step down as general arch maintainer Thomas Huth
2022-10-28 13:22 ` [PULL 03/21] s390x/tod-kvm: don't save/restore the TOD in PV guests Thomas Huth
2022-10-28 13:22 ` [PULL 04/21] tests/tcg/s390x: Test compiler flags only once, not every time Thomas Huth
2022-10-28 13:22 ` [PULL 05/21] target/s390x: Fix emulation of the VISTR instruction Thomas Huth
2022-10-28 13:22 ` [PULL 06/21] tests/tcg/s390x: Add a test for the vistr instruction Thomas Huth
2022-10-28 13:22 ` [PULL 07/21] MAINTAINERS: target/s390x/: add Ilya as reviewer Thomas Huth
2022-10-28 13:22 ` [PULL 08/21] tests/qtest/tpm: Clean up remainders of swtpm Thomas Huth
2022-10-28 13:22 ` [PULL 09/21] tests/qtest/cxl-test: Remove temporary directories after testing Thomas Huth
2022-10-28 13:22 ` [PULL 10/21] tests/qtest/libqos/e1000e: Use e1000_regs.h Thomas Huth
2022-10-28 13:22 ` [PULL 11/21] tests/vm: update openbsd to release 7.2 Thomas Huth
2022-10-28 13:22 ` [PULL 12/21] tests: Add sndio to the FreeBSD CI containers / VM Thomas Huth
2022-10-28 13:22 ` [PULL 13/21] accel/qtest: Support qtest accelerator for Windows Thomas Huth
2022-10-28 13:22 ` [PULL 14/21] tests/qtest: Use send/recv for socket communication Thomas Huth
2022-10-28 13:22 ` [PULL 15/21] tests/qtest: Support libqtest to build and run on Windows Thomas Huth
2022-10-28 13:22 ` [PULL 16/21] tests/qtest: device-plug-test: Reverse the usage of double/single quotes Thomas Huth
2022-10-28 13:23 ` [PULL 17/21] tests/qtest: Use EXIT_FAILURE instead of magic number Thomas Huth
2022-10-28 13:23 ` [PULL 18/21] tests/qtest: libqtest: Introduce qtest_wait_qemu() Thomas Huth
2022-10-28 13:23 ` [PULL 19/21] tests/qtest: migration-test: Make sure QEMU process "to" exited after migration is canceled Thomas Huth
2022-10-28 13:23 ` [PULL 20/21] tests/qtest: libqos: Do not build virtio-9p unconditionally Thomas Huth
2022-10-28 13:23 ` Thomas Huth [this message]
2022-10-31 10:27 ` [PULL 00/21] s390x and qtest patches Stefan Hajnoczi
2022-10-31 18:37 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221028132304.829103-22-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=bin.meng@windriver.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).