[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v2 17/24] tests: numa: add case for QMP command qu
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH v2 17/24] tests: numa: add case for QMP command query-cpus |
Date: |
Fri, 5 May 2017 13:22:00 +1000 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Wed, May 03, 2017 at 02:57:11PM +0200, Igor Mammedov wrote:
> Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: David Gibson <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();
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- Re: [Qemu-ppc] [PATCH v2 15/24] virt-arm: get numa node mapping from possible_cpus instead of numa_get_node_for_cpu(), (continued)
[Qemu-ppc] [PATCH v2 16/24] QMP: include CpuInstanceProperties into query_cpus output output, Igor Mammedov, 2017/05/03
[Qemu-ppc] [PATCH v2 17/24] tests: numa: add case for QMP command query-cpus, Igor Mammedov, 2017/05/03
- Re: [Qemu-ppc] [PATCH v2 17/24] tests: numa: add case for QMP command query-cpus,
David Gibson <=
[Qemu-ppc] [PATCH v2 18/24] numa: remove no longer used numa_get_node_for_cpu(), Igor Mammedov, 2017/05/03
[Qemu-ppc] [PATCH v2 20/24] machine: call machine init from wrapper, Igor Mammedov, 2017/05/03
[Qemu-ppc] [PATCH v2 19/24] numa: remove no longer need numa_post_machine_init(), Igor Mammedov, 2017/05/03
[Qemu-ppc] [PATCH v2 21/24] numa: use possible_cpus for not mapped CPUs check, Igor Mammedov, 2017/05/03