Message ID | 20211115145900.2531865-7-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/unit: Fix test-smp-parse | expand |
On 11/15/21 3:58 PM, Philippe Mathieu-Daudé wrote: > Avoid modifying the MachineClass internals by adding the > 'smp-with-dies' machine, which inherits from TYPE_MACHINE. > > Signed-off-by: Philippe Mathieu-Daudé<philmd@redhat.com> > --- > tests/unit/test-smp-parse.c | 22 +++++++++++++++------- > 1 file changed, 15 insertions(+), 7 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 2021/11/15 22:58, Philippe Mathieu-Daudé wrote: > Avoid modifying the MachineClass internals by adding the > 'smp-with-dies' machine, which inherits from TYPE_MACHINE. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > tests/unit/test-smp-parse.c | 22 +++++++++++++++------- > 1 file changed, 15 insertions(+), 7 deletions(-) > > diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c > index e27aedad354..ff61da06e3d 100644 > --- a/tests/unit/test-smp-parse.c > +++ b/tests/unit/test-smp-parse.c > @@ -487,6 +487,16 @@ static void machine_base_class_init(ObjectClass *oc, void *data) > mc->name = g_strdup(SMP_MACHINE_NAME); > } > > +static void machine_with_dies_class_init(ObjectClass *oc, void *data) > +{ > + MachineClass *mc = MACHINE_CLASS(oc); > + > + mc->min_cpus = MIN_CPUS; > + mc->max_cpus = MAX_CPUS; > + > + mc->smp_props.dies_supported = true; > +} > + > static void test_generic_valid(const void *opaque) > { > const char *machine_type = opaque; > @@ -549,9 +559,6 @@ static void test_with_dies(const void *opaque) > unsigned int num_dies = 2; > int i; > > - /* Force the SMP compat properties */ > - mc->smp_props.dies_supported = true; > - > for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) { > *data = data_generic_valid[i]; > unsupported_params_init(mc, data); > @@ -589,9 +596,6 @@ static void test_with_dies(const void *opaque) > smp_parse_test(ms, data, false); > } > > - /* Restore the SMP compat properties */ > - mc->smp_props.dies_supported = false; > - > object_unref(obj); > } > > @@ -603,6 +607,10 @@ static const TypeInfo smp_machine_types[] = { > .class_init = machine_base_class_init, > .class_size = sizeof(MachineClass), > .instance_size = sizeof(MachineState), > + }, { > + .name = MACHINE_TYPE_NAME("smp-with-dies"), > + .parent = TYPE_MACHINE, > + .class_init = machine_with_dies_class_init, > } > }; > > @@ -621,7 +629,7 @@ int main(int argc, char *argv[]) > TYPE_MACHINE, > test_generic_invalid); > g_test_add_data_func("/test-smp-parse/with_dies", > - TYPE_MACHINE, > + MACHINE_TYPE_NAME("smp-with-dies"), > test_with_dies); > > g_test_run(); I have tested this patch locally and all works as expected: Reviewed-by: Yanan Wang <wangyanan55@huawei.com> Tested-by: Yanan Wang <wangyanan55@huawei.com> Thanks, Yanan
diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c index e27aedad354..ff61da06e3d 100644 --- a/tests/unit/test-smp-parse.c +++ b/tests/unit/test-smp-parse.c @@ -487,6 +487,16 @@ static void machine_base_class_init(ObjectClass *oc, void *data) mc->name = g_strdup(SMP_MACHINE_NAME); } +static void machine_with_dies_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + mc->min_cpus = MIN_CPUS; + mc->max_cpus = MAX_CPUS; + + mc->smp_props.dies_supported = true; +} + static void test_generic_valid(const void *opaque) { const char *machine_type = opaque; @@ -549,9 +559,6 @@ static void test_with_dies(const void *opaque) unsigned int num_dies = 2; int i; - /* Force the SMP compat properties */ - mc->smp_props.dies_supported = true; - for (i = 0; i < ARRAY_SIZE(data_generic_valid); i++) { *data = data_generic_valid[i]; unsupported_params_init(mc, data); @@ -589,9 +596,6 @@ static void test_with_dies(const void *opaque) smp_parse_test(ms, data, false); } - /* Restore the SMP compat properties */ - mc->smp_props.dies_supported = false; - object_unref(obj); } @@ -603,6 +607,10 @@ static const TypeInfo smp_machine_types[] = { .class_init = machine_base_class_init, .class_size = sizeof(MachineClass), .instance_size = sizeof(MachineState), + }, { + .name = MACHINE_TYPE_NAME("smp-with-dies"), + .parent = TYPE_MACHINE, + .class_init = machine_with_dies_class_init, } }; @@ -621,7 +629,7 @@ int main(int argc, char *argv[]) TYPE_MACHINE, test_generic_invalid); g_test_add_data_func("/test-smp-parse/with_dies", - TYPE_MACHINE, + MACHINE_TYPE_NAME("smp-with-dies"), test_with_dies); g_test_run();
Avoid modifying the MachineClass internals by adding the 'smp-with-dies' machine, which inherits from TYPE_MACHINE. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- tests/unit/test-smp-parse.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)