Message ID | 20211215164856.381990-5-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/unit: Rework test-smp-parse tests | expand |
Hi Philippe, On 2021/12/16 0:48, Philippe Mathieu-Daudé wrote: > Avoid modifying the MachineClass internals by adding the > 'smp-generic-invalid' machine, which inherits from TYPE_MACHINE. > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > tests/unit/test-smp-parse.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-) > > diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c > index f66cf7bb598..72e7236afd9 100644 > --- a/tests/unit/test-smp-parse.c > +++ b/tests/unit/test-smp-parse.c > @@ -487,6 +487,17 @@ static void machine_base_class_init(ObjectClass *oc, void *data) > mc->name = g_strdup(SMP_MACHINE_NAME); > } > > +static void machine_without_dies_invalid_class_init(ObjectClass *oc, void *data) > +{ > + MachineClass *mc = MACHINE_CLASS(oc); > + > + /* Force invalid min CPUs and max CPUs */ > + mc->min_cpus = 2; > + mc->max_cpus = 511; > + > + mc->smp_props.dies_supported = false; > +} > + > static void machine_with_dies_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > @@ -530,10 +541,6 @@ static void test_generic_invalid(const void *opaque) > SMPTestData *data = &(SMPTestData){}; > int i; > > - /* Force invalid min CPUs and max CPUs */ > - mc->min_cpus = 2; > - mc->max_cpus = 511; > - > for (i = 0; i < ARRAY_SIZE(data_generic_invalid); i++) { > *data = data_generic_invalid[i]; > unsupported_params_init(mc, data); > @@ -541,10 +548,6 @@ static void test_generic_invalid(const void *opaque) > 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); > } > > @@ -606,6 +609,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-generic-invalid"), > + .parent = TYPE_MACHINE, > + .class_init = machine_without_dies_invalid_class_init, Maybe it's better to rename "machine_without_dies_invalid_class_init" to "machine_generic_invalid_class_init" to be consistent with the .name field. Thanks, Yanan > }, { > .name = MACHINE_TYPE_NAME("smp-with-dies"), > .parent = TYPE_MACHINE, > @@ -625,7 +632,7 @@ int main(int argc, char *argv[]) > TYPE_MACHINE, > test_generic_valid); > g_test_add_data_func("/test-smp-parse/generic/invalid", > - TYPE_MACHINE, > + MACHINE_TYPE_NAME("smp-generic-invalid"), > test_generic_invalid); > g_test_add_data_func("/test-smp-parse/with_dies", > MACHINE_TYPE_NAME("smp-with-dies"),
On 12/16/21 04:20, wangyanan (Y) wrote: > Hi Philippe, > > On 2021/12/16 0:48, Philippe Mathieu-Daudé wrote: >> Avoid modifying the MachineClass internals by adding the >> 'smp-generic-invalid' machine, which inherits from TYPE_MACHINE. >> >> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> tests/unit/test-smp-parse.c | 25 ++++++++++++++++--------- >> 1 file changed, 16 insertions(+), 9 deletions(-) >> @@ -606,6 +609,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-generic-invalid"), >> + .parent = TYPE_MACHINE, >> + .class_init = machine_without_dies_invalid_class_init, > Maybe it's better to rename "machine_without_dies_invalid_class_init" to > "machine_generic_invalid_class_init" to be consistent with the .name field. Indeed I missed that... Thanks.
diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c index f66cf7bb598..72e7236afd9 100644 --- a/tests/unit/test-smp-parse.c +++ b/tests/unit/test-smp-parse.c @@ -487,6 +487,17 @@ static void machine_base_class_init(ObjectClass *oc, void *data) mc->name = g_strdup(SMP_MACHINE_NAME); } +static void machine_without_dies_invalid_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + /* Force invalid min CPUs and max CPUs */ + mc->min_cpus = 2; + mc->max_cpus = 511; + + mc->smp_props.dies_supported = false; +} + static void machine_with_dies_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -530,10 +541,6 @@ static void test_generic_invalid(const void *opaque) SMPTestData *data = &(SMPTestData){}; int i; - /* Force invalid min CPUs and max CPUs */ - mc->min_cpus = 2; - mc->max_cpus = 511; - for (i = 0; i < ARRAY_SIZE(data_generic_invalid); i++) { *data = data_generic_invalid[i]; unsupported_params_init(mc, data); @@ -541,10 +548,6 @@ static void test_generic_invalid(const void *opaque) 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); } @@ -606,6 +609,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-generic-invalid"), + .parent = TYPE_MACHINE, + .class_init = machine_without_dies_invalid_class_init, }, { .name = MACHINE_TYPE_NAME("smp-with-dies"), .parent = TYPE_MACHINE, @@ -625,7 +632,7 @@ int main(int argc, char *argv[]) TYPE_MACHINE, test_generic_valid); g_test_add_data_func("/test-smp-parse/generic/invalid", - TYPE_MACHINE, + MACHINE_TYPE_NAME("smp-generic-invalid"), test_generic_invalid); g_test_add_data_func("/test-smp-parse/with_dies", MACHINE_TYPE_NAME("smp-with-dies"),