summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2021-11-15 15:49:59 +0100
committerPhilippe Mathieu-Daudé <philmd@redhat.com>2021-12-31 13:31:13 +0100
commit2dc426c468833619afc1221666e0e6246b8f21d7 (patch)
treee43eb4dc6dca29a44de06504a9f117c59e8a5351
parent7ca0705eba00c0d38f7b37670ee6cff9b607bb74 (diff)
downloadqemu-2dc426c468833619afc1221666e0e6246b8f21d7.zip
tests/unit/test-smp-parse: Add 'smp-generic-valid' machine type
Keep the common TYPE_MACHINE class initialization in machine_base_class_init(), make it abstract, and move the non-common code to a new class: "smp-generic-valid". Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Yanan Wang <wangyanan55@huawei.com> Message-Id: <20211216132015.815493-6-philmd@redhat.com>
-rw-r--r--tests/unit/test-smp-parse.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c
index 47e11089e2..b20bf2c235 100644
--- a/tests/unit/test-smp-parse.c
+++ b/tests/unit/test-smp-parse.c
@@ -478,13 +478,19 @@ static void machine_base_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
+ mc->smp_props.prefer_sockets = true;
+
+ mc->name = g_strdup(SMP_MACHINE_NAME);
+}
+
+static void machine_generic_valid_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+
mc->min_cpus = MIN_CPUS;
mc->max_cpus = MAX_CPUS;
- mc->smp_props.prefer_sockets = true;
mc->smp_props.dies_supported = false;
-
- mc->name = g_strdup(SMP_MACHINE_NAME);
}
static void machine_generic_invalid_class_init(ObjectClass *oc, void *data)
@@ -606,10 +612,15 @@ static const TypeInfo smp_machine_types[] = {
{
.name = TYPE_MACHINE,
.parent = TYPE_OBJECT,
+ .abstract = true,
.class_init = machine_base_class_init,
.class_size = sizeof(MachineClass),
.instance_size = sizeof(MachineState),
}, {
+ .name = MACHINE_TYPE_NAME("smp-generic-valid"),
+ .parent = TYPE_MACHINE,
+ .class_init = machine_generic_valid_class_init,
+ }, {
.name = MACHINE_TYPE_NAME("smp-generic-invalid"),
.parent = TYPE_MACHINE,
.class_init = machine_generic_invalid_class_init,
@@ -629,7 +640,7 @@ int main(int argc, char *argv[])
g_test_init(&argc, &argv, NULL);
g_test_add_data_func("/test-smp-parse/generic/valid",
- TYPE_MACHINE,
+ MACHINE_TYPE_NAME("smp-generic-valid"),
test_generic_valid);
g_test_add_data_func("/test-smp-parse/generic/invalid",
MACHINE_TYPE_NAME("smp-generic-invalid"),