[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/2] tests/unit/test-smp-parse: Make an unified name for t
From: |
Andrew Jones |
Subject: |
Re: [PATCH v2 1/2] tests/unit/test-smp-parse: Make an unified name for the tested machine |
Date: |
Thu, 11 Nov 2021 09:18:57 +0100 |
On Thu, Nov 11, 2021 at 10:44:28AM +0800, Yanan Wang wrote:
> Currently, the name of the tested machine in the expected error
> messages is hardcoded as "(null)" which is not good, because the
> actual generated name of the machine maybe "(null)" or "(NULL)"
> which will cause an unexpected test failure in some CI platforms.
>
> So let's rename the tested machine with an unified string and
> tweak the expected error messages accordingly.
>
> Fixes: 9e8e393bb7 ("tests/unit: Add an unit test for smp parsing")
> Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
> ---
> tests/unit/test-smp-parse.c | 38 ++++++++++++++++++++++++++-----------
> 1 file changed, 27 insertions(+), 11 deletions(-)
>
> diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c
> index cbe0c99049..872512aa37 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
> @@ -315,13 +317,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",
> },
> };
>
> @@ -480,26 +482,41 @@ static void unsupported_params_init(MachineClass *mc,
> SMPTestData *data)
> }
> }
>
> -/* Reset the related machine properties before each sub-test */
> -static void smp_machine_class_init(MachineClass *mc)
> +static Object *smp_test_machine_init(void)
> {
> + Object *obj = object_new(TYPE_MACHINE);
> + MachineClass *mc = MACHINE_GET_CLASS(obj);
> +
> + g_free(mc->name);
> + mc->name = g_strdup(SMP_MACHINE_NAME);
> +
> mc->min_cpus = MIN_CPUS;
> mc->max_cpus = MAX_CPUS;
>
> mc->smp_props.prefer_sockets = true;
> mc->smp_props.dies_supported = false;
> +
> + return obj;
> +}
> +
> +static void smp_test_machine_deinit(Object *obj)
> +{
> + MachineClass *mc = MACHINE_GET_CLASS(obj);
> +
> + g_free(mc->name);
> + mc->name = NULL;
> +
> + object_unref(obj);
> }
>
> static void test_generic(void)
> {
> - Object *obj = object_new(TYPE_MACHINE);
> + Object *obj = smp_test_machine_init();
> MachineState *ms = MACHINE(obj);
> MachineClass *mc = MACHINE_GET_CLASS(obj);
> SMPTestData *data = &(SMPTestData){{ }};
> int i;
>
> - smp_machine_class_init(mc);
> -
> for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) {
> *data = data_generic_valid[i];
> unsupported_params_init(mc, data);
> @@ -523,19 +540,18 @@ static void test_generic(void)
> smp_parse_test(ms, data, false);
> }
>
> - object_unref(obj);
> + smp_test_machine_deinit(obj);
> }
>
> static void test_with_dies(void)
> {
> - Object *obj = object_new(TYPE_MACHINE);
> + Object *obj = smp_test_machine_init();
> MachineState *ms = MACHINE(obj);
> MachineClass *mc = MACHINE_GET_CLASS(obj);
> SMPTestData *data = &(SMPTestData){{ }};
> unsigned int num_dies = 2;
> int i;
>
> - smp_machine_class_init(mc);
> mc->smp_props.dies_supported = true;
>
> for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) {
> @@ -575,7 +591,7 @@ static void test_with_dies(void)
> smp_parse_test(ms, data, false);
> }
>
> - object_unref(obj);
> + smp_test_machine_deinit(obj);
> }
>
> int main(int argc, char *argv[])
> --
> 2.19.1
>
Reviewed-by: Andrew Jones <drjones@redhat.com>