Leaving interpolation into JSON to qmp() is more robust than building
QMP input manually, as explained in the recent commit "tests: Clean up
string interpolation into QMP input (simple cases)".
migrate_recover() builds QMP input manually because wait_command()
can't interpolate. Well, it can since the previous commit. Simplify
accordingly.
Bonus: gets rid of a non-literal format string. A 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>
---
tests/migration-test.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 7bffcd2e4d..4b8d4cc119 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -159,6 +159,7 @@ static void stop_cb(void *opaque, const char *name, QDict *data)
/*
* Events can get in the way of responses we are actually waiting for.
*/
+GCC_FMT_ATTR(2, 3)
static QDict *wait_command(QTestState *who, const char *command, ...)
{
va_list ap;
@@ -357,13 +358,12 @@ static void migrate_pause(QTestState *who)
static void migrate_recover(QTestState *who, const char *uri)
{
QDict *rsp;
- gchar *cmd = g_strdup_printf(
- "{ 'execute': 'migrate-recover', "
- " 'id': 'recover-cmd', "
- " 'arguments': { 'uri': '%s' } }", uri);
- rsp = wait_command(who, cmd);
- g_free(cmd);
+ rsp = wait_command(who,
+ "{ 'execute': 'migrate-recover', "
+ " 'id': 'recover-cmd', "
+ " 'arguments': { 'uri': %s } }",
+ uri);
qobject_unref(rsp);
}
--
2.17.1