diff mbox series

[v2,07/11] tests/qtest/migration-test: Build command line using GString API (1/4)

Message ID 20230119145838.41835-8-philmd@linaro.org
State New
Headers show
Series tests/qtest: Allow running boot-serial / migration with TCG disabled | expand

Commit Message

Philippe Mathieu-Daudé Jan. 19, 2023, 2:58 p.m. UTC
Part 1/4: Convert memory & machine options.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 tests/qtest/migration-test.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

Comments

Richard Henderson Jan. 19, 2023, 9:10 p.m. UTC | #1
On 1/19/23 04:58, Philippe Mathieu-Daudé wrote:
> Part 1/4: Convert memory & machine options.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   tests/qtest/migration-test.c | 22 ++++++++++++----------
>   1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 6c3db95113..7aa323a7a7 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -582,6 +582,7 @@ typedef struct {
>   static int test_migrate_start(QTestState **from, QTestState **to,
>                                 const char *uri, MigrateStart *args)
>   {
> +    g_autoptr(GString) cmd_common = NULL;
>       g_autofree gchar *arch_source = NULL;
>       g_autofree gchar *arch_target = NULL;
>       g_autofree gchar *cmd_target = NULL;
> @@ -601,6 +602,9 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>       }
>   
>       got_stop = false;
> +
> +    cmd_common = g_string_new("");
> +
>       bootpath = g_strdup_printf("%s/bootsect", tmpfs);
>       if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
>           /* the assembled x86 boot sector should be exactly one sector large */
> @@ -644,6 +648,10 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>       } else {
>           g_assert_not_reached();
>       }
> +    if (machine_opts) {
> +        g_string_append_printf(cmd_common, " -machine %s ", machine_opts);
> +    }
> +    g_string_append_printf(cmd_common, "-m %s ", memory_size);
>   
>       if (!getenv("QTEST_LOG") && args->hide_stderr) {
>   #ifdef _WIN32
> @@ -674,33 +682,27 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>       if (!args->only_target) {
>           g_autofree gchar *cmd_source = NULL;
>   
> -        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
> +        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s "
>                                        "-name source,debug-threads=on "
> -                                     "-m %s "
>                                        "-serial file:%s/src_serial "
>                                        "%s %s %s %s",
>                                        args->use_dirty_ring ?
>                                        ",dirty-ring-size=4096" : "",
> -                                     machine_opts ? " -machine " : "",
> -                                     machine_opts ? machine_opts : "",

You removed two strings here, but only one %s above.


r~

> -                                     memory_size, tmpfs,
> +                                     cmd_common->str, tmpfs,
>                                        arch_source, shmem_opts,
>                                        args->opts_source ? args->opts_source : "",
>                                        ignore_stderr);
>           *from = qtest_init(cmd_source);
>       }
>   
> -    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
> +    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s "
>                                    "-name target,debug-threads=on "
> -                                 "-m %s "
>                                    "-serial file:%s/dest_serial "
>                                    "-incoming %s "
>                                    "%s %s %s %s",
>                                    args->use_dirty_ring ?
>                                    ",dirty-ring-size=4096" : "",
> -                                 machine_opts ? " -machine " : "",
> -                                 machine_opts ? machine_opts : "",
> -                                 memory_size, tmpfs, uri,
> +                                 cmd_common->str, tmpfs, uri,
>                                    arch_target, shmem_opts,
>                                    args->opts_target ? args->opts_target : "",
>                                    ignore_stderr);
Philippe Mathieu-Daudé Jan. 20, 2023, 7:32 a.m. UTC | #2
On 19/1/23 22:10, Richard Henderson wrote:
> On 1/19/23 04:58, Philippe Mathieu-Daudé wrote:
>> Part 1/4: Convert memory & machine options.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>   tests/qtest/migration-test.c | 22 ++++++++++++----------
>>   1 file changed, 12 insertions(+), 10 deletions(-)
>>
>> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
>> index 6c3db95113..7aa323a7a7 100644
>> --- a/tests/qtest/migration-test.c
>> +++ b/tests/qtest/migration-test.c
>> @@ -582,6 +582,7 @@ typedef struct {
>>   static int test_migrate_start(QTestState **from, QTestState **to,
>>                                 const char *uri, MigrateStart *args)
>>   {
>> +    g_autoptr(GString) cmd_common = NULL;
>>       g_autofree gchar *arch_source = NULL;
>>       g_autofree gchar *arch_target = NULL;
>>       g_autofree gchar *cmd_target = NULL;
>> @@ -601,6 +602,9 @@ static int test_migrate_start(QTestState **from, 
>> QTestState **to,
>>       }
>>       got_stop = false;
>> +
>> +    cmd_common = g_string_new("");
>> +
>>       bootpath = g_strdup_printf("%s/bootsect", tmpfs);
>>       if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
>>           /* the assembled x86 boot sector should be exactly one 
>> sector large */
>> @@ -644,6 +648,10 @@ static int test_migrate_start(QTestState **from, 
>> QTestState **to,
>>       } else {
>>           g_assert_not_reached();
>>       }
>> +    if (machine_opts) {
>> +        g_string_append_printf(cmd_common, " -machine %s ", 
>> machine_opts);
>> +    }
>> +    g_string_append_printf(cmd_common, "-m %s ", memory_size);
>>       if (!getenv("QTEST_LOG") && args->hide_stderr) {
>>   #ifdef _WIN32
>> @@ -674,33 +682,27 @@ static int test_migrate_start(QTestState **from, 
>> QTestState **to,
>>       if (!args->only_target) {
>>           g_autofree gchar *cmd_source = NULL;
>> -        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
>> +        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s "
>>                                        "-name source,debug-threads=on "
>> -                                     "-m %s "
>>                                        "-serial file:%s/src_serial "
>>                                        "%s %s %s %s",
>>                                        args->use_dirty_ring ?
>>                                        ",dirty-ring-size=4096" : "",
>> -                                     machine_opts ? " -machine " : "",
>> -                                     machine_opts ? machine_opts : "",
> 
> You removed two strings here, but only one %s above.

>> -                                     memory_size, tmpfs,
>> +                                     cmd_common->str, tmpfs,

One new string is added here             ^^^^^^^^^^^^^^^.

>>                                        arch_source, shmem_opts,
>>                                        args->opts_source ? 
>> args->opts_source : "",
>>                                        ignore_stderr);
>>           *from = qtest_init(cmd_source);
>>       }
>> -    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
>> +    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s "
>>                                    "-name target,debug-threads=on "
>> -                                 "-m %s "
>>                                    "-serial file:%s/dest_serial "
>>                                    "-incoming %s "
>>                                    "%s %s %s %s",
>>                                    args->use_dirty_ring ?
>>                                    ",dirty-ring-size=4096" : "",
>> -                                 machine_opts ? " -machine " : "",
>> -                                 machine_opts ? machine_opts : "",
>> -                                 memory_size, tmpfs, uri,
>> +                                 cmd_common->str, tmpfs, uri,
>>                                    arch_target, shmem_opts,
>>                                    args->opts_target ? 
>> args->opts_target : "",
>>                                    ignore_stderr);
>
diff mbox series

Patch

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 6c3db95113..7aa323a7a7 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -582,6 +582,7 @@  typedef struct {
 static int test_migrate_start(QTestState **from, QTestState **to,
                               const char *uri, MigrateStart *args)
 {
+    g_autoptr(GString) cmd_common = NULL;
     g_autofree gchar *arch_source = NULL;
     g_autofree gchar *arch_target = NULL;
     g_autofree gchar *cmd_target = NULL;
@@ -601,6 +602,9 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     }
 
     got_stop = false;
+
+    cmd_common = g_string_new("");
+
     bootpath = g_strdup_printf("%s/bootsect", tmpfs);
     if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
         /* the assembled x86 boot sector should be exactly one sector large */
@@ -644,6 +648,10 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     } else {
         g_assert_not_reached();
     }
+    if (machine_opts) {
+        g_string_append_printf(cmd_common, " -machine %s ", machine_opts);
+    }
+    g_string_append_printf(cmd_common, "-m %s ", memory_size);
 
     if (!getenv("QTEST_LOG") && args->hide_stderr) {
 #ifdef _WIN32
@@ -674,33 +682,27 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     if (!args->only_target) {
         g_autofree gchar *cmd_source = NULL;
 
-        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
+        cmd_source = g_strdup_printf("-accel kvm%s -accel tcg%s "
                                      "-name source,debug-threads=on "
-                                     "-m %s "
                                      "-serial file:%s/src_serial "
                                      "%s %s %s %s",
                                      args->use_dirty_ring ?
                                      ",dirty-ring-size=4096" : "",
-                                     machine_opts ? " -machine " : "",
-                                     machine_opts ? machine_opts : "",
-                                     memory_size, tmpfs,
+                                     cmd_common->str, tmpfs,
                                      arch_source, shmem_opts,
                                      args->opts_source ? args->opts_source : "",
                                      ignore_stderr);
         *from = qtest_init(cmd_source);
     }
 
-    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s%s "
+    cmd_target = g_strdup_printf("-accel kvm%s -accel tcg%s "
                                  "-name target,debug-threads=on "
-                                 "-m %s "
                                  "-serial file:%s/dest_serial "
                                  "-incoming %s "
                                  "%s %s %s %s",
                                  args->use_dirty_ring ?
                                  ",dirty-ring-size=4096" : "",
-                                 machine_opts ? " -machine " : "",
-                                 machine_opts ? machine_opts : "",
-                                 memory_size, tmpfs, uri,
+                                 cmd_common->str, tmpfs, uri,
                                  arch_target, shmem_opts,
                                  args->opts_target ? args->opts_target : "",
                                  ignore_stderr);