qom-test: Test shutdown in addition to startup
authorMarkus Armbruster <armbru@redhat.com>
Fri, 10 Jan 2014 13:31:39 +0000 (14:31 +0100)
committerAndreas Färber <afaerber@suse.de>
Fri, 14 Feb 2014 15:21:08 +0000 (16:21 +0100)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
tests/qom-test.c

index 24cb9c50560a0fbe55d8ddf0b9519e72199ee9ae..3316a110a26c88194198933e163277c488e21855 100644 (file)
@@ -42,17 +42,17 @@ static bool is_blacklisted(const char *arch, const char *mach)
     return false;
 }
 
-static void test_nop(gconstpointer data)
+static void test_machine(gconstpointer data)
 {
-    QTestState *s;
     const char *machine = data;
     char *args;
+    QDict *response;
 
     args = g_strdup_printf("-machine %s", machine);
-    s = qtest_start(args);
-    if (s) {
-        qtest_quit(s);
-    }
+    qtest_start(args);
+    response = qmp("{ 'execute': 'quit' }");
+    g_assert(qdict_haskey(response, "return"));
+    qtest_end();
     g_free(args);
 }
 
@@ -82,7 +82,7 @@ static void add_machine_test_cases(void)
         mname = qstring_get_str(qstr);
         if (!is_blacklisted(arch, mname)) {
             path = g_strdup_printf("/%s/qom/%s", arch, mname);
-            g_test_add_data_func(path, mname, test_nop);
+            g_test_add_data_func(path, mname, test_machine);
         }
     }
     qtest_end();