Message ID | 20211111100351.2153662-3-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/unit: Fix test-smp-parse | expand |
On 11/11/21 11:03 AM, Philippe Mathieu-Daudé wrote: > smp_machine_class_init() is the actual TypeInfo::class_init(). > Declare it as such in smp_machine_info, and avoid to call it > manually in each test. Move smp_machine_info definition just > before we register the type to avoid a forward declaration. > > Signed-off-by: Philippe Mathieu-Daudé<philmd@redhat.com> > --- > tests/unit/test-smp-parse.c | 25 ++++++++++++------------- > 1 file changed, 12 insertions(+), 13 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 2021/11/11 18:03, Philippe Mathieu-Daudé wrote: > smp_machine_class_init() is the actual TypeInfo::class_init(). > Declare it as such in smp_machine_info, and avoid to call it > manually in each test. Move smp_machine_info definition just > before we register the type to avoid a forward declaration. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > tests/unit/test-smp-parse.c | 25 ++++++++++++------------- > 1 file changed, 12 insertions(+), 13 deletions(-) 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 bd11fbe91de..51670297bf9 100644 > --- a/tests/unit/test-smp-parse.c > +++ b/tests/unit/test-smp-parse.c > @@ -75,14 +75,6 @@ typedef struct SMPTestData { > const char *expect_error; > } SMPTestData; > > -/* Type info of the tested machine */ > -static const TypeInfo smp_machine_info = { > - .name = TYPE_MACHINE, > - .parent = TYPE_OBJECT, > - .class_size = sizeof(MachineClass), > - .instance_size = sizeof(MachineState), > -}; > - > /* > * List all the possible valid sub-collections of the generic 5 > * topology parameters (i.e. cpus/maxcpus/sockets/cores/threads), > @@ -480,9 +472,10 @@ 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 void machine_class_init(ObjectClass *oc, void *data) > { > + MachineClass *mc = MACHINE_CLASS(oc); > + > mc->min_cpus = MIN_CPUS; > mc->max_cpus = MAX_CPUS; > > @@ -498,8 +491,6 @@ static void test_generic(void) > 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); > @@ -539,7 +530,6 @@ static void test_with_dies(void) > 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++) { > @@ -582,6 +572,15 @@ static void test_with_dies(void) > object_unref(obj); > } > > +/* Type info of the tested machine */ > +static const TypeInfo smp_machine_info = { > + .name = TYPE_MACHINE, > + .parent = TYPE_OBJECT, > + .class_init = machine_class_init, > + .class_size = sizeof(MachineClass), > + .instance_size = sizeof(MachineState), > +}; > + > int main(int argc, char *argv[]) > { > g_test_init(&argc, &argv, NULL);
diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c index bd11fbe91de..51670297bf9 100644 --- a/tests/unit/test-smp-parse.c +++ b/tests/unit/test-smp-parse.c @@ -75,14 +75,6 @@ typedef struct SMPTestData { const char *expect_error; } SMPTestData; -/* Type info of the tested machine */ -static const TypeInfo smp_machine_info = { - .name = TYPE_MACHINE, - .parent = TYPE_OBJECT, - .class_size = sizeof(MachineClass), - .instance_size = sizeof(MachineState), -}; - /* * List all the possible valid sub-collections of the generic 5 * topology parameters (i.e. cpus/maxcpus/sockets/cores/threads), @@ -480,9 +472,10 @@ 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 void machine_class_init(ObjectClass *oc, void *data) { + MachineClass *mc = MACHINE_CLASS(oc); + mc->min_cpus = MIN_CPUS; mc->max_cpus = MAX_CPUS; @@ -498,8 +491,6 @@ static void test_generic(void) 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); @@ -539,7 +530,6 @@ static void test_with_dies(void) 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++) { @@ -582,6 +572,15 @@ static void test_with_dies(void) object_unref(obj); } +/* Type info of the tested machine */ +static const TypeInfo smp_machine_info = { + .name = TYPE_MACHINE, + .parent = TYPE_OBJECT, + .class_init = machine_class_init, + .class_size = sizeof(MachineClass), + .instance_size = sizeof(MachineState), +}; + int main(int argc, char *argv[]) { g_test_init(&argc, &argv, NULL);
smp_machine_class_init() is the actual TypeInfo::class_init(). Declare it as such in smp_machine_info, and avoid to call it manually in each test. Move smp_machine_info definition just before we register the type to avoid a forward declaration. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- tests/unit/test-smp-parse.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-)