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>
This commit is contained in:
Daniel P. Berrangé 2023-06-01 17:13:40 +01:00 committed by Juan Quintela
parent 0150e75d01
commit ffd4727589
3 changed files with 15 additions and 39 deletions

View File

@ -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

View File

@ -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, ...);

View File

@ -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)