tests/unit/test-smp-parse: Pass machine type as argument to tests

Use g_test_add_data_func() instead of g_test_add_func() so we can
pass the machine type to the tests (we will soon have different
machine types).

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211216132015.815493-2-philmd@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2021-11-15 12:32:09 +01:00
parent 2ebd9ce19a
commit 1ab192f30c

View File

@ -487,9 +487,10 @@ static void machine_base_class_init(ObjectClass *oc, void *data)
mc->name = g_strdup(SMP_MACHINE_NAME); mc->name = g_strdup(SMP_MACHINE_NAME);
} }
static void test_generic(void) static void test_generic(const void *opaque)
{ {
Object *obj = object_new(TYPE_MACHINE); const char *machine_type = opaque;
Object *obj = object_new(machine_type);
MachineState *ms = MACHINE(obj); MachineState *ms = MACHINE(obj);
MachineClass *mc = MACHINE_GET_CLASS(obj); MachineClass *mc = MACHINE_GET_CLASS(obj);
SMPTestData *data = &(SMPTestData){{ }}; SMPTestData *data = &(SMPTestData){{ }};
@ -525,9 +526,10 @@ static void test_generic(void)
object_unref(obj); object_unref(obj);
} }
static void test_with_dies(void) static void test_with_dies(const void *opaque)
{ {
Object *obj = object_new(TYPE_MACHINE); const char *machine_type = opaque;
Object *obj = object_new(machine_type);
MachineState *ms = MACHINE(obj); MachineState *ms = MACHINE(obj);
MachineClass *mc = MACHINE_GET_CLASS(obj); MachineClass *mc = MACHINE_GET_CLASS(obj);
SMPTestData *data = &(SMPTestData){{ }}; SMPTestData *data = &(SMPTestData){{ }};
@ -599,8 +601,12 @@ int main(int argc, char *argv[])
g_test_init(&argc, &argv, NULL); g_test_init(&argc, &argv, NULL);
g_test_add_func("/test-smp-parse/generic", test_generic); g_test_add_data_func("/test-smp-parse/generic",
g_test_add_func("/test-smp-parse/with_dies", test_with_dies); TYPE_MACHINE,
test_generic);
g_test_add_data_func("/test-smp-parse/with_dies",
TYPE_MACHINE,
test_with_dies);
g_test_run(); g_test_run();