qmp-dispatch: Use CommandNotFound error for disabled commands
If a command is disabled an error is reported. But due to usage of error_setg() the class of the error is GenericError which does not help callers in distinguishing this case from a case where a qmp command fails regularly due to other reasons. We used to use class CommandDisabled until the great error simplification (commitde253f1491
for QMP and commit93b91c59db
for qemu-ga, both v1.2.0). Use CommandNotFound error class, which is close enough. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Message-Id: <faeb030e6a1044f0fd88208edfdb1c5fafe5def9.1567171655.git.mprivozn@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> [Test update squashed in, commit message tweaked] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
c6f5012ba5
commit
2546be1c85
@ -104,8 +104,9 @@ static QObject *do_qmp_dispatch(QmpCommandList *cmds, QObject *request,
|
||||
return NULL;
|
||||
}
|
||||
if (!cmd->enabled) {
|
||||
error_setg(errp, "The command %s has been disabled for this instance",
|
||||
command);
|
||||
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
|
||||
"The command %s has been disabled for this instance",
|
||||
command);
|
||||
return NULL;
|
||||
}
|
||||
if (oob && !(cmd->options & QCO_ALLOW_OOB)) {
|
||||
|
@ -668,7 +668,7 @@ static void test_qga_blacklist(gconstpointer data)
|
||||
error = qdict_get_qdict(ret, "error");
|
||||
class = qdict_get_try_str(error, "class");
|
||||
desc = qdict_get_try_str(error, "desc");
|
||||
g_assert_cmpstr(class, ==, "GenericError");
|
||||
g_assert_cmpstr(class, ==, "CommandNotFound");
|
||||
g_assert_nonnull(g_strstr_len(desc, -1, "has been disabled"));
|
||||
qobject_unref(ret);
|
||||
|
||||
@ -677,7 +677,7 @@ static void test_qga_blacklist(gconstpointer data)
|
||||
error = qdict_get_qdict(ret, "error");
|
||||
class = qdict_get_try_str(error, "class");
|
||||
desc = qdict_get_try_str(error, "desc");
|
||||
g_assert_cmpstr(class, ==, "GenericError");
|
||||
g_assert_cmpstr(class, ==, "CommandNotFound");
|
||||
g_assert_nonnull(g_strstr_len(desc, -1, "has been disabled"));
|
||||
qobject_unref(ret);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user