aboutsummaryrefslogtreecommitdiff
path: root/tests/migration-test.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2018-08-06 08:53:38 +0200
committerMarkus Armbruster <armbru@redhat.com>2018-08-16 08:42:06 +0200
commit4399596b152f6c933a173b0e97ba4e3b6a57458f (patch)
tree5b410f9988f43cf3478cf270c29eb2f8d3533d27 /tests/migration-test.c
parent3cd46d42fe632b4732eca23b15b99d1b26ee6f2c (diff)
downloadqemu-4399596b152f6c933a173b0e97ba4e3b6a57458f.zip
qemu-4399596b152f6c933a173b0e97ba4e3b6a57458f.tar.gz
qemu-4399596b152f6c933a173b0e97ba4e3b6a57458f.tar.bz2
migration-test: Make wait_command() cope with '%'
wait_command() passes its argument @command to qtest_qmp_send(). Falls apart if @command contain '%'. Two ways to disarm this trap: suppress interpretation of '%' by passing @command as argument to format string "%s", or fix it by having wait_command() take the variable arguments to go with @command. Do the latter. This is another step towards compile-time format string checking without triggering -Wformat-nonliteral. Cc: Juan Quintela <quintela@redhat.com> Cc: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180806065344.7103-18-armbru@redhat.com>
Diffstat (limited to 'tests/migration-test.c')
-rw-r--r--tests/migration-test.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 402c82b..7bffcd2 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -159,9 +159,14 @@ static void stop_cb(void *opaque, const char *name, QDict *data)
/*
* Events can get in the way of responses we are actually waiting for.
*/
-static QDict *wait_command(QTestState *who, const char *command)
+static QDict *wait_command(QTestState *who, const char *command, ...)
{
- qtest_qmp_send(who, command);
+ va_list ap;
+
+ va_start(ap, command);
+ qtest_qmp_vsend(who, command, ap);
+ va_end(ap);
+
return qtest_qmp_receive_success(who, stop_cb, NULL);
}