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 : "",
- 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);
--
2.38.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);
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);
>
© 2016 - 2026 Red Hat, Inc.