diff mbox series

[V3,12/16] tests/migration-test: memory_backend

Message ID 1730468875-249970-13-git-send-email-steven.sistare@oracle.com (mailing list archive)
State New
Headers show
Series Live update: cpr-transfer | expand

Commit Message

Steven Sistare Nov. 1, 2024, 1:47 p.m. UTC
Allow each migration test to define its own memory backend, replacing
the standard "-m <size>" specification.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
 tests/qtest/migration-test.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

Comments

Fabiano Rosas Nov. 13, 2024, 10:19 p.m. UTC | #1
Steve Sistare <steven.sistare@oracle.com> writes:

> Allow each migration test to define its own memory backend, replacing
> the standard "-m <size>" specification.
>
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>

Reviewed-by: Fabiano Rosas <farosas@suse.de>

> ---
>  tests/qtest/migration-test.c | 20 ++++++++++++++++----
>  1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 95e45b5..a008316 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -609,6 +609,11 @@ typedef struct {
>      const char *opts_target;
>      /* suspend the src before migrating to dest. */
>      bool suspend_me;
> +    /*
> +     * Format string for the main memory backend, containing one %s where the
> +     * size is plugged in.  If omitted, "-m %s" is used.
> +     */
> +    const char *memory_backend;
>  } MigrateStart;
>  
>  /*
> @@ -727,6 +732,7 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>      const char *memory_size;
>      const char *machine_alias, *machine_opts = "";
>      g_autofree char *machine = NULL;
> +    g_autofree char *memory_backend = NULL;
>  
>      if (args->use_shmem) {
>          if (!g_file_test("/dev/shm", G_FILE_TEST_IS_DIR)) {
> @@ -802,6 +808,12 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>              memory_size, shmem_path);
>      }
>  
> +    if (args->memory_backend) {
> +        memory_backend = g_strdup_printf(args->memory_backend, memory_size);
> +    } else {
> +        memory_backend = g_strdup_printf("-m %s ", memory_size);

Unnecessary space at the end of the string.

> +    }
> +
>      if (args->use_dirty_ring) {
>          kvm_opts = ",dirty-ring-size=4096";
>      }
> @@ -820,12 +832,12 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>      cmd_source = g_strdup_printf("-accel kvm%s -accel tcg "
>                                   "-machine %s,%s "
>                                   "-name source,debug-threads=on "
> -                                 "-m %s "
> +                                 "%s "
>                                   "-serial file:%s/src_serial "
>                                   "%s %s %s %s %s",
>                                   kvm_opts ? kvm_opts : "",
>                                   machine, machine_opts,
> -                                 memory_size, tmpfs,
> +                                 memory_backend, tmpfs,
>                                   arch_opts ? arch_opts : "",
>                                   arch_source ? arch_source : "",
>                                   shmem_opts ? shmem_opts : "",
> @@ -841,13 +853,13 @@ static int test_migrate_start(QTestState **from, QTestState **to,
>      cmd_target = g_strdup_printf("-accel kvm%s -accel tcg "
>                                   "-machine %s,%s "
>                                   "-name target,debug-threads=on "
> -                                 "-m %s "
> +                                 "%s "
>                                   "-serial file:%s/dest_serial "
>                                   "-incoming %s "
>                                   "%s %s %s %s %s",
>                                   kvm_opts ? kvm_opts : "",
>                                   machine, machine_opts,
> -                                 memory_size, tmpfs, uri,
> +                                 memory_backend, tmpfs, uri,
>                                   arch_opts ? arch_opts : "",
>                                   arch_target ? arch_target : "",
>                                   shmem_opts ? shmem_opts : "",
diff mbox series

Patch

diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 95e45b5..a008316 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -609,6 +609,11 @@  typedef struct {
     const char *opts_target;
     /* suspend the src before migrating to dest. */
     bool suspend_me;
+    /*
+     * Format string for the main memory backend, containing one %s where the
+     * size is plugged in.  If omitted, "-m %s" is used.
+     */
+    const char *memory_backend;
 } MigrateStart;
 
 /*
@@ -727,6 +732,7 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     const char *memory_size;
     const char *machine_alias, *machine_opts = "";
     g_autofree char *machine = NULL;
+    g_autofree char *memory_backend = NULL;
 
     if (args->use_shmem) {
         if (!g_file_test("/dev/shm", G_FILE_TEST_IS_DIR)) {
@@ -802,6 +808,12 @@  static int test_migrate_start(QTestState **from, QTestState **to,
             memory_size, shmem_path);
     }
 
+    if (args->memory_backend) {
+        memory_backend = g_strdup_printf(args->memory_backend, memory_size);
+    } else {
+        memory_backend = g_strdup_printf("-m %s ", memory_size);
+    }
+
     if (args->use_dirty_ring) {
         kvm_opts = ",dirty-ring-size=4096";
     }
@@ -820,12 +832,12 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     cmd_source = g_strdup_printf("-accel kvm%s -accel tcg "
                                  "-machine %s,%s "
                                  "-name source,debug-threads=on "
-                                 "-m %s "
+                                 "%s "
                                  "-serial file:%s/src_serial "
                                  "%s %s %s %s %s",
                                  kvm_opts ? kvm_opts : "",
                                  machine, machine_opts,
-                                 memory_size, tmpfs,
+                                 memory_backend, tmpfs,
                                  arch_opts ? arch_opts : "",
                                  arch_source ? arch_source : "",
                                  shmem_opts ? shmem_opts : "",
@@ -841,13 +853,13 @@  static int test_migrate_start(QTestState **from, QTestState **to,
     cmd_target = g_strdup_printf("-accel kvm%s -accel tcg "
                                  "-machine %s,%s "
                                  "-name target,debug-threads=on "
-                                 "-m %s "
+                                 "%s "
                                  "-serial file:%s/dest_serial "
                                  "-incoming %s "
                                  "%s %s %s %s %s",
                                  kvm_opts ? kvm_opts : "",
                                  machine, machine_opts,
-                                 memory_size, tmpfs, uri,
+                                 memory_backend, tmpfs, uri,
                                  arch_opts ? arch_opts : "",
                                  arch_target ? arch_target : "",
                                  shmem_opts ? shmem_opts : "",