qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2 1/2] tests/unit/test-smp-parse: Make an unified name for the t


From: Yanan Wang
Subject: [PATCH v2 1/2] tests/unit/test-smp-parse: Make an unified name for the tested machine
Date: Thu, 11 Nov 2021 10:44:28 +0800

Currently, the name of the tested machine in the expected error
messages is hardcoded as "(null)" which is not good, because the
actual generated name of the machine maybe "(null)" or "(NULL)"
which will cause an unexpected test failure in some CI platforms.

So let's rename the tested machine with an unified string and
tweak the expected error messages accordingly.

Fixes: 9e8e393bb7 ("tests/unit: Add an unit test for smp parsing")
Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
---
 tests/unit/test-smp-parse.c | 38 ++++++++++++++++++++++++++-----------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c
index cbe0c99049..872512aa37 100644
--- a/tests/unit/test-smp-parse.c
+++ b/tests/unit/test-smp-parse.c
@@ -23,6 +23,8 @@
 #define MIN_CPUS 1   /* set the min CPUs supported by the machine as 1 */
 #define MAX_CPUS 512 /* set the max CPUs supported by the machine as 512 */
 
+#define SMP_MACHINE_NAME "TEST-SMP"
+
 /*
  * Used to define the generic 3-level CPU topology hierarchy
  *  -sockets/cores/threads
@@ -315,13 +317,13 @@ static struct SMPTestData data_generic_invalid[] = {
          * should tweak the supported min CPUs to 2 for testing */
         .config = SMP_CONFIG_GENERIC(T, 1, F, 0, F, 0, F, 0, F, 0),
         .expect_error = "Invalid SMP CPUs 1. The min CPUs supported "
-                        "by machine '(null)' is 2",
+                        "by machine '" SMP_MACHINE_NAME "' is 2",
     }, {
         /* config: -smp 512
          * should tweak the supported max CPUs to 511 for testing */
         .config = SMP_CONFIG_GENERIC(T, 512, F, 0, F, 0, F, 0, F, 0),
         .expect_error = "Invalid SMP CPUs 512. The max CPUs supported "
-                        "by machine '(null)' is 511",
+                        "by machine '" SMP_MACHINE_NAME "' is 511",
     },
 };
 
@@ -480,26 +482,41 @@ 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 Object *smp_test_machine_init(void)
 {
+    Object *obj = object_new(TYPE_MACHINE);
+    MachineClass *mc = MACHINE_GET_CLASS(obj);
+
+    g_free(mc->name);
+    mc->name = g_strdup(SMP_MACHINE_NAME);
+
     mc->min_cpus = MIN_CPUS;
     mc->max_cpus = MAX_CPUS;
 
     mc->smp_props.prefer_sockets = true;
     mc->smp_props.dies_supported = false;
+
+    return obj;
+}
+
+static void smp_test_machine_deinit(Object *obj)
+{
+    MachineClass *mc = MACHINE_GET_CLASS(obj);
+
+    g_free(mc->name);
+    mc->name = NULL;
+
+    object_unref(obj);
 }
 
 static void test_generic(void)
 {
-    Object *obj = object_new(TYPE_MACHINE);
+    Object *obj = smp_test_machine_init();
     MachineState *ms = MACHINE(obj);
     MachineClass *mc = MACHINE_GET_CLASS(obj);
     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);
@@ -523,19 +540,18 @@ static void test_generic(void)
         smp_parse_test(ms, data, false);
     }
 
-    object_unref(obj);
+    smp_test_machine_deinit(obj);
 }
 
 static void test_with_dies(void)
 {
-    Object *obj = object_new(TYPE_MACHINE);
+    Object *obj = smp_test_machine_init();
     MachineState *ms = MACHINE(obj);
     MachineClass *mc = MACHINE_GET_CLASS(obj);
     SMPTestData *data = &(SMPTestData){{ }};
     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++) {
@@ -575,7 +591,7 @@ static void test_with_dies(void)
         smp_parse_test(ms, data, false);
     }
 
-    object_unref(obj);
+    smp_test_machine_deinit(obj);
 }
 
 int main(int argc, char *argv[])
-- 
2.19.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]