Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
tests/qtest: get rid of 'qmp_command' helper in migration test
This function duplicates logic of qtest_qmp_assert_success_ref.
The qtest_qmp_assert_success_ref method has better diagnostics
on failure because it prints the entire QMP response, instead
of just asserting on existance of the 'error' key.

Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230601161347.1803440-4-berrange@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
  • Loading branch information
berrange authored and Juan Quintela committed Jun 2, 2023
1 parent 0150e75 commit ffd4727
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 39 deletions.
22 changes: 0 additions & 22 deletions tests/qtest/migration-helpers.c
Expand Up @@ -85,28 +85,6 @@ QDict *wait_command(QTestState *who, const char *command, ...)
return ret;
}

/*
* Execute the qmp command only
*/
QDict *qmp_command(QTestState *who, const char *command, ...)
{
va_list ap;
QDict *resp, *ret;

va_start(ap, command);
resp = qtest_vqmp(who, command, ap);
va_end(ap);

g_assert(!qdict_haskey(resp, "error"));
g_assert(qdict_haskey(resp, "return"));

ret = qdict_get_qdict(resp, "return");
qobject_ref(ret);
qobject_unref(resp);

return ret;
}

/*
* Send QMP command "migrate".
* Arguments are built from @fmt... (formatted like
Expand Down
3 changes: 0 additions & 3 deletions tests/qtest/migration-helpers.h
Expand Up @@ -25,9 +25,6 @@ QDict *wait_command_fd(QTestState *who, int fd, const char *command, ...);
G_GNUC_PRINTF(2, 3)
QDict *wait_command(QTestState *who, const char *command, ...);

G_GNUC_PRINTF(2, 3)
QDict *qmp_command(QTestState *who, const char *command, ...);

G_GNUC_PRINTF(3, 4)
void migrate_qmp(QTestState *who, const char *uri, const char *fmt, ...);

Expand Down
29 changes: 15 additions & 14 deletions tests/qtest/migration-test.c
Expand Up @@ -2322,32 +2322,33 @@ static void test_multifd_tcp_cancel(void)

static void calc_dirty_rate(QTestState *who, uint64_t calc_time)
{
qobject_unref(qmp_command(who,
"{ 'execute': 'calc-dirty-rate',"
"'arguments': { "
"'calc-time': %" PRIu64 ","
"'mode': 'dirty-ring' }}",
calc_time));
qtest_qmp_assert_success(who,
"{ 'execute': 'calc-dirty-rate',"
"'arguments': { "
"'calc-time': %" PRIu64 ","
"'mode': 'dirty-ring' }}",
calc_time);
}

static QDict *query_dirty_rate(QTestState *who)
{
return qmp_command(who, "{ 'execute': 'query-dirty-rate' }");
return qtest_qmp_assert_success_ref(who,
"{ 'execute': 'query-dirty-rate' }");
}

static void dirtylimit_set_all(QTestState *who, uint64_t dirtyrate)
{
qobject_unref(qmp_command(who,
"{ 'execute': 'set-vcpu-dirty-limit',"
"'arguments': { "
"'dirty-rate': %" PRIu64 " } }",
dirtyrate));
qtest_qmp_assert_success(who,
"{ 'execute': 'set-vcpu-dirty-limit',"
"'arguments': { "
"'dirty-rate': %" PRIu64 " } }",
dirtyrate);
}

static void cancel_vcpu_dirty_limit(QTestState *who)
{
qobject_unref(qmp_command(who,
"{ 'execute': 'cancel-vcpu-dirty-limit' }"));
qtest_qmp_assert_success(who,
"{ 'execute': 'cancel-vcpu-dirty-limit' }");
}

static QDict *query_vcpu_dirty_limit(QTestState *who)
Expand Down

0 comments on commit ffd4727

Please sign in to comment.