[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH for-2.10 16/23] tests: numa: add case for QMP command
From: |
Igor Mammedov |
Subject: |
[Qemu-arm] [PATCH for-2.10 16/23] tests: numa: add case for QMP command query-cpus |
Date: |
Wed, 22 Mar 2017 14:32:41 +0100 |
Signed-off-by: Igor Mammedov <address@hidden>
---
tests/numa-test.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/tests/numa-test.c b/tests/numa-test.c
index f5da0c8..8326321 100644
--- a/tests/numa-test.c
+++ b/tests/numa-test.c
@@ -87,6 +87,49 @@ 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 +144,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-arm] [PATCH for-2.10 10/23] numa: mirror cpu to node mapping in MachineState::possible_cpus, (continued)
- [Qemu-arm] [PATCH for-2.10 10/23] numa: mirror cpu to node mapping in MachineState::possible_cpus, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 11/23] numa: do default mapping based on possible_cpus instead of node_cpu bitmaps, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 12/23] pc: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu(), Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 13/23] spapr: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu(), Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 14/23] virt-arm: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu(), Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 15/23] QMP: include CpuInstanceProperties into query_cpus output output, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 16/23] tests: numa: add case for QMP command query-cpus,
Igor Mammedov <=
- [Qemu-arm] [PATCH for-2.10 17/23] numa: remove no longer used numa_get_node_for_cpu(), Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 18/23] numa: remove no longer need numa_post_machine_init(), Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 19/23] machine: call machine init from wrapper, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 20/23] numa: use possible_cpus for not mapped CPUs check, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 21/23] numa: remove node_cpu bitmaps as they are no longer used, Igor Mammedov, 2017/03/22
- [Qemu-arm] [PATCH for-2.10 22/23] numa: add '-numa cpu, ...' option for property based node mapping, Igor Mammedov, 2017/03/22