aboutsummaryrefslogtreecommitdiff
path: root/tests/qtest/qos-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qtest/qos-test.c')
-rw-r--r--tests/qtest/qos-test.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/tests/qtest/qos-test.c b/tests/qtest/qos-test.c
index 5da4091..abfd4b9 100644
--- a/tests/qtest/qos-test.c
+++ b/tests/qtest/qos-test.c
@@ -20,7 +20,7 @@
#include <getopt.h>
#include "libqtest-single.h"
#include "qapi/error.h"
-#include "qapi/qmp/qdict.h"
+#include "qobject/qdict.h"
#include "qemu/module.h"
#include "qapi/qobject-input-visitor.h"
#include "qapi/qapi-visit-machine.h"
@@ -33,7 +33,6 @@
static char *old_path;
-
/**
* qos_set_machines_devices_available(): sets availability of qgraph
* machines and devices.
@@ -104,8 +103,7 @@ static void restart_qemu_or_continue(char *path)
old_path = g_strdup(path);
qtest_start(path);
} else { /* if cmd line is the same, reset the guest */
- qobject_unref(qmp("{ 'execute': 'system_reset' }"));
- qmp_eventwait("RESET");
+ qtest_system_reset(global_qtest);
}
}
@@ -191,6 +189,12 @@ static void subprocess_run_one_test(const void *arg)
g_test_trap_assert_passed();
}
+static void destroy_pathv(void *arg)
+{
+ g_free(((char **)arg)[0]);
+ g_free(arg);
+}
+
/*
* in this function, 2 path will be built:
* path_str, a one-string path (ex "pc/i440FX-pcihost/...")
@@ -295,10 +299,13 @@ static void walk_path(QOSGraphNode *orig_path, int len)
if (path->u.test.subprocess) {
gchar *subprocess_path = g_strdup_printf("/%s/%s/subprocess",
qtest_get_arch(), path_str);
- qtest_add_data_func(path_str, subprocess_path, subprocess_run_one_test);
- g_test_add_data_func(subprocess_path, path_vec, run_one_test);
+ qtest_add_data_func_full(path_str, subprocess_path,
+ subprocess_run_one_test, g_free);
+ g_test_add_data_func_full(subprocess_path, path_vec,
+ run_one_test, destroy_pathv);
} else {
- qtest_add_data_func(path_str, path_vec, run_one_test);
+ qtest_add_data_func_full(path_str, path_vec,
+ run_one_test, destroy_pathv);
}
g_free(path_str);