tests/unit/test-smp-parse: Explicit MachineClass name

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.

Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Tested-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211115145900.2531865-4-philmd@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2021-11-11 10:27:45 +01:00
parent c3440eff4c
commit 7b6d1bc962

View File

@ -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_base_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);
}
static void test_generic(void)