tests/unit/test-smp-parse: Restore MachineClass fields after modifying
There is a single MachineClass object, registered with type_register_static(&smp_machine_info). Since the same object is used multiple times (an MachineState object is instantiated in both test_generic and test_with_dies), we should restore its internal state after modifying for the test purpose. 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-2-philmd@redhat.com>
This commit is contained in:
parent
42f6c9179b
commit
2523a79565
@ -512,7 +512,7 @@ static void test_generic(void)
|
|||||||
smp_parse_test(ms, data, true);
|
smp_parse_test(ms, data, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset the supported min CPUs and max CPUs */
|
/* Force invalid min CPUs and max CPUs */
|
||||||
mc->min_cpus = 2;
|
mc->min_cpus = 2;
|
||||||
mc->max_cpus = 511;
|
mc->max_cpus = 511;
|
||||||
|
|
||||||
@ -523,6 +523,10 @@ static void test_generic(void)
|
|||||||
smp_parse_test(ms, data, false);
|
smp_parse_test(ms, data, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Reset the supported min CPUs and max CPUs */
|
||||||
|
mc->min_cpus = MIN_CPUS;
|
||||||
|
mc->max_cpus = MAX_CPUS;
|
||||||
|
|
||||||
object_unref(obj);
|
object_unref(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -536,6 +540,7 @@ static void test_with_dies(void)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
smp_machine_class_init(mc);
|
smp_machine_class_init(mc);
|
||||||
|
/* Force the SMP compat properties */
|
||||||
mc->smp_props.dies_supported = true;
|
mc->smp_props.dies_supported = true;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) {
|
for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) {
|
||||||
@ -575,6 +580,9 @@ static void test_with_dies(void)
|
|||||||
smp_parse_test(ms, data, false);
|
smp_parse_test(ms, data, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Restore the SMP compat properties */
|
||||||
|
mc->smp_props.dies_supported = false;
|
||||||
|
|
||||||
object_unref(obj);
|
object_unref(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user