[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 17/24] tests: numa: add case for QMP command quer
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH v2 17/24] tests: numa: add case for QMP command query-cpus |
Date: |
Wed, 3 May 2017 14:57:11 +0200 |
Signed-off-by: Igor Mammedov <address@hidden>
---
v2:
* fix checkpatch error, move { to newline
---
tests/numa-test.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/tests/numa-test.c b/tests/numa-test.c
index f5da0c8..2722687 100644
--- a/tests/numa-test.c
+++ b/tests/numa-test.c
@@ -87,6 +87,50 @@ static void test_mon_partial(const void *data)
g_free(cli);
}
+static QList *get_cpus(QDict **resp)
+{
+ *resp = qmp("{ 'execute': 'query-cpus' }");
+ g_assert(*resp);
+ g_assert(qdict_haskey(*resp, "return"));
+ return qdict_get_qlist(*resp, "return");
+}
+
+static void test_query_cpus(const void *data)
+{
+ char *cli;
+ QDict *resp;
+ QList *cpus;
+ const QObject *e;
+
+ cli = make_cli(data, "-smp 8 -numa node,cpus=0-3 -numa node,cpus=4-7");
+ qtest_start(cli);
+ cpus = get_cpus(&resp);
+ g_assert(cpus);
+
+ while ((e = qlist_pop(cpus))) {
+ QDict *cpu, *props;
+ int64_t cpu_idx, node;
+
+ cpu = qobject_to_qdict(e);
+ g_assert(qdict_haskey(cpu, "CPU"));
+ g_assert(qdict_haskey(cpu, "props"));
+
+ cpu_idx = qdict_get_int(cpu, "CPU");
+ props = qdict_get_qdict(cpu, "props");
+ g_assert(qdict_haskey(props, "node-id"));
+ node = qdict_get_int(props, "node-id");
+ if (cpu_idx >= 0 && cpu_idx < 4) {
+ g_assert_cmpint(node, ==, 0);
+ } else {
+ g_assert_cmpint(node, ==, 1);
+ }
+ }
+
+ QDECREF(resp);
+ qtest_end();
+ g_free(cli);
+}
+
int main(int argc, char **argv)
{
const char *args = NULL;
@@ -101,6 +145,7 @@ int main(int argc, char **argv)
qtest_add_data_func("/numa/mon/default", args, test_mon_default);
qtest_add_data_func("/numa/mon/cpus/explicit", args, test_mon_explicit);
qtest_add_data_func("/numa/mon/cpus/partial", args, test_mon_partial);
+ qtest_add_data_func("/numa/qmp/cpus/query-cpus", args, test_query_cpus);
return g_test_run();
}
--
2.7.4
- [Qemu-devel] [PATCH v2 15/24] virt-arm: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu(), (continued)
[Qemu-devel] [PATCH v2 16/24] QMP: include CpuInstanceProperties into query_cpus output output, Igor Mammedov, 2017/05/03
[Qemu-devel] [PATCH v2 17/24] tests: numa: add case for QMP command query-cpus,
Igor Mammedov <=
[Qemu-devel] [PATCH v2 18/24] numa: remove no longer used numa_get_node_for_cpu(), Igor Mammedov, 2017/05/03
[Qemu-devel] [PATCH v2 19/24] numa: remove no longer need numa_post_machine_init(), Igor Mammedov, 2017/05/03
[Qemu-devel] [PATCH v2 20/24] machine: call machine init from wrapper, Igor Mammedov, 2017/05/03
[Qemu-devel] [PATCH v2 21/24] numa: use possible_cpus for not mapped CPUs check, Igor Mammedov, 2017/05/03