[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v19 7/8] tests/numa: Add case for QMP build HMAT
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v19 7/8] tests/numa: Add case for QMP build HMAT |
Date: |
Thu, 28 Nov 2019 12:49:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Tao Xu <address@hidden> writes:
> Check configuring HMAT usecase
>
> Reviewed-by: Igor Mammedov <address@hidden>
> Suggested-by: Igor Mammedov <address@hidden>
> Signed-off-by: Tao Xu <address@hidden>
> ---
>
> Changes in v19:
> - Add some fail cases for hmat-cache when level=0
>
> Changes in v18:
> - Rewrite the lines over 80 characters
>
> Chenges in v17:
> - Add some fail test cases (Igor)
> ---
> tests/numa-test.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 213 insertions(+)
>
> diff --git a/tests/numa-test.c b/tests/numa-test.c
> index 8de8581231..aed7b2f31b 100644
> --- a/tests/numa-test.c
> +++ b/tests/numa-test.c
> @@ -327,6 +327,216 @@ static void pc_dynamic_cpu_cfg(const void *data)
> qtest_quit(qs);
> }
>
> +static void pc_hmat_build_cfg(const void *data)
> +{
> + QTestState *qs = qtest_initf("%s -nodefaults --preconfig -machine
> hmat=on "
> + "-smp 2,sockets=2 "
> + "-m 128M,slots=2,maxmem=1G "
> + "-object memory-backend-ram,size=64M,id=m0 "
> + "-object memory-backend-ram,size=64M,id=m1 "
> + "-numa node,nodeid=0,memdev=m0 "
> + "-numa node,nodeid=1,memdev=m1,initiator=0 "
> + "-numa cpu,node-id=0,socket-id=0 "
> + "-numa cpu,node-id=0,socket-id=1",
> + data ? (char *)data : "");
> +
> + /* Fail: Initiator should be less than the number of nodes */
> + g_assert(qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node',"
> + " 'arguments': { 'type': 'hmat-lb', 'initiator': 2, 'target': 0,"
> + " 'hierarchy': \"memory\", 'data-type': \"access-latency\" } }")));
Code smell: side effect within assert().
Harmless here, because compiling tests with NDEBUG is pointless. Still,
it sets a bad example. Not your idea, the pattern seems to go back to
commit c35665e1ee3 and fb1e58f72ba.
The non-smelly pattern would be
resp = qtest_qmp(...);
g_assert(resp);
g_assert(qdict_haskey(rsp, "error"));
qobject_unref(resp);
It's a bit longwinded. We could create a suitable function, but then
the assertion points to the function, which is less useful than pointing
to the test. A macro could avoid that.
Can be cleaned up on top.
[...]
- Re: [PATCH v19 2/8] numa: Extend CLI to provide memory latency and bandwidth information, (continued)
- [PATCH v19 5/8] hmat acpi: Build System Locality Latency and Bandwidth Information Structure(s), Tao Xu, 2019/11/28
- [PATCH v19 6/8] hmat acpi: Build Memory Side Cache Information Structure(s), Tao Xu, 2019/11/28
- [PATCH v19 8/8] tests/bios-tables-test: add test cases for ACPI HMAT, Tao Xu, 2019/11/28
- [PATCH v19 7/8] tests/numa: Add case for QMP build HMAT, Tao Xu, 2019/11/28
- Re: [PATCH v19 7/8] tests/numa: Add case for QMP build HMAT,
Markus Armbruster <=
Re: [PATCH v19 0/8] Build ACPI Heterogeneous Memory Attribute Table (HMAT), Markus Armbruster, 2019/11/28
Re: [PATCH v19 0/8] Build ACPI Heterogeneous Memory Attribute Table (HMAT), no-reply, 2019/11/28