On 2021/11/11 18:03, Philippe Mathieu-Daudé wrote:
If the MachineClass::name pointer is not explicitly set, it is NULL.
Per the C standard, passing a NULL pointer to printf "%s" format is
undefined. Some implementations display it as 'NULL', other as 'null'.
Since we are comparing the formatted output, we need a stable value.
The easiest is to explicit a machine name string.
Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
---
tests/unit/test-smp-parse.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c
index 51670297bf9..de6d226b455 100644
--- a/tests/unit/test-smp-parse.c
+++ b/tests/unit/test-smp-parse.c
@@ -23,6 +23,8 @@
#define MIN_CPUS 1 /* set the min CPUs supported by the machine as 1 */
#define MAX_CPUS 512 /* set the max CPUs supported by the machine as 512 */
+#define SMP_MACHINE_NAME "TEST-SMP"
+
/*
* Used to define the generic 3-level CPU topology hierarchy
* -sockets/cores/threads
@@ -307,13 +309,13 @@ static struct SMPTestData data_generic_invalid[] = {
* should tweak the supported min CPUs to 2 for testing */
.config = SMP_CONFIG_GENERIC(T, 1, F, 0, F, 0, F, 0, F, 0),
.expect_error = "Invalid SMP CPUs 1. The min CPUs supported "
- "by machine '(null)' is 2",
+ "by machine '" SMP_MACHINE_NAME "' is 2",
}, {
/* config: -smp 512
* should tweak the supported max CPUs to 511 for testing */
.config = SMP_CONFIG_GENERIC(T, 512, F, 0, F, 0, F, 0, F, 0),
.expect_error = "Invalid SMP CPUs 512. The max CPUs supported "
- "by machine '(null)' is 511",
+ "by machine '" SMP_MACHINE_NAME "' is 511",
},
};
@@ -481,6 +483,8 @@ static void machine_class_init(ObjectClass *oc, void *data)
mc->smp_props.prefer_sockets = true;
mc->smp_props.dies_supported = false;
+
+ mc->name = g_strdup(SMP_MACHINE_NAME);
I'm not very familiar with Qom code, so it may be a stupid question.
The mc->name will be automatically freed elsewhere when all the
testing is finished and exits, right? :)
}
static void test_generic(void)
With my uncertainty clarified:
Reviewed-by: Yanan Wang <wangyana...@huawei.com>
Tested-by: Yanan Wang <wangyana...@huawei.com>
Thanks,
Yanan