tests/qtest: libqtest: Exclude the *_fds APIs for win32

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>
This commit is contained in:
Bin Meng 2022-09-25 19:30:12 +08:00 committed by Thomas Huth
parent 39f0e991e1
commit 490081b282
2 changed files with 17 additions and 1 deletions

View File

@ -592,17 +592,20 @@ int qtest_socket_server(const char *socket_path)
return sock; return sock;
} }
#ifndef _WIN32
void qtest_qmp_vsend_fds(QTestState *s, int *fds, size_t fds_num, void qtest_qmp_vsend_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, va_list ap) const char *fmt, va_list ap)
{ {
qmp_fd_vsend_fds(s->qmp_fd, fds, fds_num, fmt, ap); qmp_fd_vsend_fds(s->qmp_fd, fds, fds_num, fmt, ap);
} }
#endif
void qtest_qmp_vsend(QTestState *s, const char *fmt, va_list ap) void qtest_qmp_vsend(QTestState *s, const char *fmt, va_list ap)
{ {
qmp_fd_vsend_fds(s->qmp_fd, NULL, 0, fmt, ap); qmp_fd_vsend(s->qmp_fd, fmt, ap);
} }
#ifndef _WIN32
QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num, QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, va_list ap) const char *fmt, va_list ap)
{ {
@ -611,6 +614,7 @@ QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num,
/* Receive reply */ /* Receive reply */
return qtest_qmp_receive(s); return qtest_qmp_receive(s);
} }
#endif
QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap) QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap)
{ {
@ -620,6 +624,7 @@ QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap)
return qtest_qmp_receive(s); return qtest_qmp_receive(s);
} }
#ifndef _WIN32
QDict *qtest_qmp_fds(QTestState *s, int *fds, size_t fds_num, QDict *qtest_qmp_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, ...) const char *fmt, ...)
{ {
@ -631,6 +636,7 @@ QDict *qtest_qmp_fds(QTestState *s, int *fds, size_t fds_num,
va_end(ap); va_end(ap);
return response; return response;
} }
#endif
QDict *qtest_qmp(QTestState *s, const char *fmt, ...) QDict *qtest_qmp(QTestState *s, const char *fmt, ...)
{ {
@ -1327,6 +1333,7 @@ void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id,
qobject_unref(args); qobject_unref(args);
} }
#ifndef _WIN32
void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd) void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd)
{ {
QDict *resp; QDict *resp;
@ -1346,6 +1353,7 @@ void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd)
g_assert(!qdict_haskey(resp, "error")); g_assert(!qdict_haskey(resp, "error"));
qobject_unref(resp); qobject_unref(resp);
} }
#endif
/* /*
* Generic hot-unplugging test via the device_del QMP command. * Generic hot-unplugging test via the device_del QMP command.

View File

@ -94,6 +94,7 @@ void qtest_kill_qemu(QTestState *s);
*/ */
void qtest_quit(QTestState *s); void qtest_quit(QTestState *s);
#ifndef _WIN32
/** /**
* qtest_qmp_fds: * qtest_qmp_fds:
* @s: #QTestState instance to operate on. * @s: #QTestState instance to operate on.
@ -108,6 +109,7 @@ void qtest_quit(QTestState *s);
QDict *qtest_qmp_fds(QTestState *s, int *fds, size_t fds_num, QDict *qtest_qmp_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, ...) const char *fmt, ...)
G_GNUC_PRINTF(4, 5); G_GNUC_PRINTF(4, 5);
#endif /* _WIN32 */
/** /**
* qtest_qmp: * qtest_qmp:
@ -152,6 +154,7 @@ void qtest_qmp_send_raw(QTestState *s, const char *fmt, ...)
*/ */
int qtest_socket_server(const char *socket_path); int qtest_socket_server(const char *socket_path);
#ifndef _WIN32
/** /**
* qtest_vqmp_fds: * qtest_vqmp_fds:
* @s: #QTestState instance to operate on. * @s: #QTestState instance to operate on.
@ -167,6 +170,7 @@ int qtest_socket_server(const char *socket_path);
QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num, QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, va_list ap) const char *fmt, va_list ap)
G_GNUC_PRINTF(4, 0); G_GNUC_PRINTF(4, 0);
#endif /* _WIN32 */
/** /**
* qtest_vqmp: * qtest_vqmp:
@ -181,6 +185,7 @@ QDict *qtest_vqmp_fds(QTestState *s, int *fds, size_t fds_num,
QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap) QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap)
G_GNUC_PRINTF(2, 0); G_GNUC_PRINTF(2, 0);
#ifndef _WIN32
/** /**
* qtest_qmp_vsend_fds: * qtest_qmp_vsend_fds:
* @s: #QTestState instance to operate on. * @s: #QTestState instance to operate on.
@ -196,6 +201,7 @@ QDict *qtest_vqmp(QTestState *s, const char *fmt, va_list ap)
void qtest_qmp_vsend_fds(QTestState *s, int *fds, size_t fds_num, void qtest_qmp_vsend_fds(QTestState *s, int *fds, size_t fds_num,
const char *fmt, va_list ap) const char *fmt, va_list ap)
G_GNUC_PRINTF(4, 0); G_GNUC_PRINTF(4, 0);
#endif /* _WIN32 */
/** /**
* qtest_qmp_vsend: * qtest_qmp_vsend:
@ -743,6 +749,7 @@ void qtest_qmp_device_add_qdict(QTestState *qts, const char *drv,
void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id, void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id,
const char *fmt, ...) G_GNUC_PRINTF(4, 5); const char *fmt, ...) G_GNUC_PRINTF(4, 5);
#ifndef _WIN32
/** /**
* qtest_qmp_add_client: * qtest_qmp_add_client:
* @qts: QTestState instance to operate on * @qts: QTestState instance to operate on
@ -752,6 +759,7 @@ void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id,
* Call QMP ``getfd`` followed by ``add_client`` with the given @fd. * Call QMP ``getfd`` followed by ``add_client`` with the given @fd.
*/ */
void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd); void qtest_qmp_add_client(QTestState *qts, const char *protocol, int fd);
#endif /* _WIN32 */
/** /**
* qtest_qmp_device_del: * qtest_qmp_device_del: