int expected_error_class = query_error_class(cmd);
QDict *resp, *error;
const char *error_class;
+ QTestState *qts;
- qtest_start(common_args);
+ qts = qtest_init(common_args);
- resp = qmp("{ 'execute': %s }", cmd);
+ resp = qtest_qmp(qts, "{ 'execute': %s }", cmd);
error = qdict_get_qdict(resp, "error");
error_class = error ? qdict_get_str(error, "class") : NULL;
}
qobject_unref(resp);
- qtest_end();
+ qtest_quit(qts);
}
static bool query_is_blacklisted(const char *cmd)
QDict *resp;
Visitor *qiv;
SchemaInfoList *tail;
+ QTestState *qts;
- qtest_start(common_args);
- resp = qmp("{ 'execute': 'query-qmp-schema' }");
+ qts = qtest_init(common_args);
+
+ resp = qtest_qmp(qts, "{ 'execute': 'query-qmp-schema' }");
qiv = qobject_input_visitor_new(qdict_get(resp, "return"));
visit_type_SchemaInfoList(qiv, NULL, &schema->list, &error_abort);
visit_free(qiv);
qobject_unref(resp);
- qtest_end();
+ qtest_quit(qts);
schema->hash = g_hash_table_new(g_str_hash, g_str_equal);
}
}
+static void test_object_add_without_props(void)
+{
+ QTestState *qts;
+ QDict *resp;
+
+ qts = qtest_init(common_args);
+ resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
+ " {'qom-type': 'memory-backend-ram', 'id': 'ram1' } }");
+ g_assert_nonnull(resp);
+ qmp_assert_error_class(resp, "GenericError");
+ qtest_quit(qts);
+}
+
int main(int argc, char *argv[])
{
QmpSchema schema;
qmp_schema_init(&schema);
add_query_tests(&schema);
+
+ qtest_add_func("qmp/object-add-without-props",
+ test_object_add_without_props);
+ /* TODO: add coverage of generic object-add failure modes */
+
ret = g_test_run();
qmp_schema_cleanup(&schema);