On Tue, 10 Mar 2026 10:55:35 -0300
Fabiano Rosas <[email protected]> wrote:

> The listen_uri parameter is supposed to be used for the incoming
> migration while connect_uri for the outgoing migration. This is well
> documented in the header file.
> 
> However, due to -incoming "defer", some tests set listen-uri =
> "defer", which is fine. But then, being without another parameter to
> define the uri to be use in migrate_incoming, some tests have been
> misusing connect_uri.
> 
> Add a separate flag to denote "defer" and spare the tests from passing
> the string. Change the usage of listen_uri to it's original purpose.
> 
> Link: 
> https://lore.kernel.org/qemu-devel/[email protected]
> Signed-off-by: Fabiano Rosas <[email protected]>

Reviewed-by: Lukas Straub <[email protected]>

> ---
>  tests/qtest/migration/colo-tests.c        |  4 ++-
>  tests/qtest/migration/compression-tests.c | 12 +++----
>  tests/qtest/migration/cpr-tests.c         | 20 +++++++----
>  tests/qtest/migration/file-tests.c        | 41 ++++++++++++++++-------
>  tests/qtest/migration/framework.c         | 12 +++----
>  tests/qtest/migration/framework.h         |  7 ++++
>  tests/qtest/migration/misc-tests.c        |  4 +--
>  tests/qtest/migration/precopy-tests.c     | 14 +++++---
>  tests/qtest/migration/tls-tests.c         | 16 ++++-----
>  9 files changed, 83 insertions(+), 47 deletions(-)
> 
> diff --git a/tests/qtest/migration/colo-tests.c 
> b/tests/qtest/migration/colo-tests.c
> index ef880f5114..7c438c196b 100644
> --- a/tests/qtest/migration/colo-tests.c
> +++ b/tests/qtest/migration/colo-tests.c
> @@ -116,9 +116,11 @@ static void test_colo_multifd_common(MigrateCommon *args,
>                                       bool failover_during_checkpoint,
>                                       bool primary_failover)
>  {
> -    args->listen_uri = "defer";
> +    args->listen_uri = "tcp:127.0.0.1:0";
>      args->start_hook = hook_start_multifd;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
> +    args->start.incoming_defer = true;
> +
>      test_colo_common(args, failover_during_checkpoint, primary_failover);
>  }
>  
> diff --git a/tests/qtest/migration/compression-tests.c 
> b/tests/qtest/migration/compression-tests.c
> index 845e622cd5..eb0b7d6b4b 100644
> --- a/tests/qtest/migration/compression-tests.c
> +++ b/tests/qtest/migration/compression-tests.c
> @@ -33,9 +33,9 @@ migrate_hook_start_precopy_tcp_multifd_zstd(QTestState 
> *from,
>  
>  static void test_multifd_tcp_zstd(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_zstd;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -43,9 +43,9 @@ static void test_multifd_tcp_zstd(char *name, MigrateCommon 
> *args)
>  
>  static void test_multifd_postcopy_tcp_zstd(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_zstd,
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>      args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_RAM] = true;
>  
> @@ -66,9 +66,9 @@ migrate_hook_start_precopy_tcp_multifd_qatzip(QTestState 
> *from,
>  
>  static void test_multifd_tcp_qatzip(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_qatzip;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -85,9 +85,9 @@ migrate_hook_start_precopy_tcp_multifd_qpl(QTestState *from,
>  
>  static void test_multifd_tcp_qpl(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_qpl;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -104,9 +104,9 @@ migrate_hook_start_precopy_tcp_multifd_uadk(QTestState 
> *from,
>  
>  static void test_multifd_tcp_uadk(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_uadk;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -156,9 +156,9 @@ migrate_hook_start_precopy_tcp_multifd_zlib(QTestState 
> *from,
>  
>  static void test_multifd_tcp_zlib(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_zlib;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> diff --git a/tests/qtest/migration/cpr-tests.c 
> b/tests/qtest/migration/cpr-tests.c
> index 0d97b5b89f..1b3d42e51c 100644
> --- a/tests/qtest/migration/cpr-tests.c
> +++ b/tests/qtest/migration/cpr-tests.c
> @@ -32,10 +32,11 @@ static void test_mode_reboot(char *name, MigrateCommon 
> *args)
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
>  
> +    args->listen_uri = uri;
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_mode_reboot;
>  
> +    args->start.incoming_defer = true;
>      args->start.mem_type = MEM_TYPE_SHMEM;
>      args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] = true;
>  
> @@ -53,7 +54,7 @@ static void *test_mode_transfer_start(QTestState *from, 
> QTestState *to)
>   * migration, and cannot connect synchronously to the monitor, so defer
>   * the target connection.
>   */
> -static void test_mode_transfer_common(MigrateCommon *args, bool 
> incoming_defer)
> +static void test_mode_transfer_common(MigrateCommon *args)
>  {
>      g_autofree char *cpr_path = g_strdup_printf("%s/cpr.sock", tmpfs);
>      g_autofree char *mig_path = g_strdup_printf("%s/migsocket", tmpfs);
> @@ -84,7 +85,11 @@ static void test_mode_transfer_common(MigrateCommon *args, 
> bool incoming_defer)
>                                    "addr.type=fd,addr.str=%d %s",
>                                    cpr_sockfd, opts);
>  
> -    args->listen_uri = incoming_defer ? "defer" : uri;
> +    /*
> +     * The URI is used only for the deferred target connection when
> +     * !incoming_defer.
> +     */
> +    args->listen_uri = uri;
>      args->connect_channels = connect_channels;
>      args->cpr_channel = cpr_channel;
>      args->start_hook = test_mode_transfer_start;
> @@ -102,12 +107,14 @@ static void test_mode_transfer_common(MigrateCommon 
> *args, bool incoming_defer)
>  
>  static void test_mode_transfer(char *name, MigrateCommon *args)
>  {
> -    test_mode_transfer_common(args, false);
> +    args->start.incoming_defer = false;
> +    test_mode_transfer_common(args);
>  }
>  
>  static void test_mode_transfer_defer(char *name, MigrateCommon *args)
>  {
> -    test_mode_transfer_common(args, true);
> +    args->start.incoming_defer = true;
> +    test_mode_transfer_common(args);
>  }
>  
>  static void set_cpr_exec_args(QTestState *who, MigrateCommon *args)
> @@ -227,11 +234,10 @@ static void test_mode_exec(char *name, MigrateCommon 
> *args)
>  {
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
> -    g_autofree char *listen_uri = g_strdup_printf("defer");
>  
>      args->connect_uri = uri;
> -    args->listen_uri = listen_uri;
>      args->start_hook = test_mode_exec_start;
> +    args->start.incoming_defer = true;
>  
>      args->start.only_source = true;
>      args->start.opts_source = "-machine aux-ram-share=on -nodefaults";
> diff --git a/tests/qtest/migration/file-tests.c 
> b/tests/qtest/migration/file-tests.c
> index 5d1b861cf6..7597ff7552 100644
> --- a/tests/qtest/migration/file-tests.c
> +++ b/tests/qtest/migration/file-tests.c
> @@ -25,7 +25,9 @@ static void test_precopy_file(char *name, MigrateCommon 
> *args)
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
> +
> +    args->start.incoming_defer = true;
>  
>      test_file_common(args, true);
>  }
> @@ -69,9 +71,11 @@ static void test_precopy_file_offset_fdset(char *name, 
> MigrateCommon *args)
>      g_autofree char *uri = g_strdup_printf("file:/dev/fdset/1,offset=%d",
>                                             FILE_TEST_OFFSET);
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>      args->start_hook = migrate_hook_start_file_offset_fdset;
>  
> +    args->start.incoming_defer = true;
> +
>      test_file_common(args, false);
>  }
>  #endif
> @@ -83,7 +87,9 @@ static void test_precopy_file_offset(char *name, 
> MigrateCommon *args)
>                                             FILE_TEST_OFFSET);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
> +
> +    args->start.incoming_defer = true;
>  
>      test_file_common(args, false);
>  }
> @@ -95,9 +101,11 @@ static void test_precopy_file_offset_bad(char *name, 
> MigrateCommon *args)
>                                             tmpfs, FILE_TEST_FILENAME);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>      args->result = MIG_TEST_QMP_ERROR;
>  
> +    args->start.incoming_defer = true;
> +
>      test_file_common(args, false);
>  }
>  
> @@ -107,8 +115,9 @@ static void test_precopy_file_mapped_ram_live(char *name, 
> MigrateCommon *args)
>                                             FILE_TEST_FILENAME);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>  
>      test_file_common(args, false);
> @@ -120,8 +129,9 @@ static void test_precopy_file_mapped_ram(char *name, 
> MigrateCommon *args)
>                                             FILE_TEST_FILENAME);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>  
>      test_file_common(args, true);
> @@ -132,8 +142,9 @@ static void test_multifd_file_mapped_ram_live(char *name, 
> MigrateCommon *args)
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>  
> @@ -146,8 +157,9 @@ static void test_multifd_file_mapped_ram(char *name, 
> MigrateCommon *args)
>                                             FILE_TEST_FILENAME);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>  
> @@ -168,9 +180,10 @@ static void test_multifd_file_mapped_ram_dio(char *name, 
> MigrateCommon *args)
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>      args->start_hook = migrate_hook_start_multifd_mapped_ram_dio;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
> @@ -240,10 +253,11 @@ static void test_multifd_file_mapped_ram_fdset(char 
> *name, MigrateCommon *args)
>                                             FILE_TEST_OFFSET);
>  
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>      args->start_hook = migrate_hook_start_multifd_mapped_ram_fdset;
>      args->end_hook = migrate_hook_end_multifd_mapped_ram_fdset;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
> @@ -255,11 +269,13 @@ static void test_multifd_file_mapped_ram_fdset_dio(char 
> *name,
>  {
>      g_autofree char *uri = g_strdup_printf("file:/dev/fdset/1,offset=%d",
>                                             FILE_TEST_OFFSET);
> +
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->listen_uri = uri;
>      args->start_hook = migrate_hook_start_multifd_mapped_ram_fdset_dio;
>      args->end_hook = migrate_hook_end_multifd_mapped_ram_fdset;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
> @@ -286,8 +302,9 @@ test_precopy_file_mapped_ram_ignore_shared(char *name, 
> MigrateCommon *args)
>  {
>      g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>                                             FILE_TEST_FILENAME);
> +    args->listen_uri = uri;
>      args->connect_uri = uri;
> -    args->listen_uri = "defer";
> +    args->start.incoming_defer = true;
>  
>      args->start.caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true;
>      args->start.caps[MIGRATION_CAPABILITY_X_IGNORE_SHARED] = true;
> diff --git a/tests/qtest/migration/framework.c 
> b/tests/qtest/migration/framework.c
> index b9371372de..75605d1791 100644
> --- a/tests/qtest/migration/framework.c
> +++ b/tests/qtest/migration/framework.c
> @@ -428,7 +428,8 @@ int migrate_args(char **from, char **to, const char *uri, 
> MigrateStart *args)
>                                   "%s %s %s %s",
>                                   kvm_opts ? kvm_opts : "",
>                                   machine, machine_opts,
> -                                 memory_backend, tmpfs, uri,
> +                                 memory_backend, tmpfs,
> +                                 args->incoming_defer ? "defer" : uri,
>                                   events,
>                                   arch_opts ? arch_opts : "",
>                                   args->opts_target ? args->opts_target : "",
> @@ -873,8 +874,7 @@ int test_precopy_common(MigrateCommon *args)
>       * migrate-incoming channels.
>       */
>      if (args->connect_channels) {
> -        if (args->start.defer_target_connect &&
> -            !strcmp(args->listen_uri, "defer")) {
> +        if (args->start.defer_target_connect && args->start.incoming_defer) {
>              in_channels = qobject_from_json(args->connect_channels,
>                                              &error_abort);
>          }
> @@ -898,8 +898,8 @@ int test_precopy_common(MigrateCommon *args)
>      if (args->start.defer_target_connect) {
>          qtest_connect(to);
>          qtest_qmp_handshake(to, NULL);
> -        if (!strcmp(args->listen_uri, "defer")) {
> -            migrate_incoming_qmp(to, args->connect_uri, in_channels, "{}");
> +        if (args->start.incoming_defer) {
> +            migrate_incoming_qmp(to, NULL, in_channels, "{}");
>          }
>      }
>  
> @@ -1048,7 +1048,7 @@ void test_file_common(MigrateCommon *args, bool 
> stop_src)
>       * We need to wait for the source to finish before starting the
>       * destination.
>       */
> -    migrate_incoming_qmp(to, args->connect_uri, NULL, "{}");
> +    migrate_incoming_qmp(to, args->listen_uri, NULL, "{}");
>      wait_for_migration_complete(to);
>  
>      if (stop_src) {
> diff --git a/tests/qtest/migration/framework.h 
> b/tests/qtest/migration/framework.h
> index 80eef75893..f920735d05 100644
> --- a/tests/qtest/migration/framework.h
> +++ b/tests/qtest/migration/framework.h
> @@ -145,6 +145,13 @@ typedef struct {
>       * migration_set_capabilities().
>       */
>      bool caps[MIGRATION_CAPABILITY__MAX];
> +
> +    /*
> +     * Whether to use "defer" as the uri for the -incoming command
> +     * line option. If set to true, MigrateCommon.listen_uri will be
> +     * used for the deferred migrate_incoming call.
> +     */
> +    bool incoming_defer;
>  } MigrateStart;
>  
>  typedef enum PostcopyRecoveryFailStage {
> diff --git a/tests/qtest/migration/misc-tests.c 
> b/tests/qtest/migration/misc-tests.c
> index 06da2657d5..a1704755d9 100644
> --- a/tests/qtest/migration/misc-tests.c
> +++ b/tests/qtest/migration/misc-tests.c
> @@ -217,7 +217,6 @@ static void do_test_validate_uri_channel(MigrateCommon 
> *args)
>  
>  static void test_validate_uri_channels_both_set(char *name, MigrateCommon 
> *args)
>  {
> -    args->listen_uri = "defer",
>      args->connect_uri = "tcp:127.0.0.1:0",
>      args->connect_channels = ("[ { ""'channel-type': 'main',"
>                                "    'addr': { 'transport': 'socket',"
> @@ -225,6 +224,7 @@ static void test_validate_uri_channels_both_set(char 
> *name, MigrateCommon *args)
>                                "              'host': '127.0.0.1',"
>                                "              'port': '0' } } ]"),
>  
> +    args->start.incoming_defer = true;
>      args->start.hide_stderr = true;
>  
>      do_test_validate_uri_channel(args);
> @@ -232,8 +232,8 @@ static void test_validate_uri_channels_both_set(char 
> *name, MigrateCommon *args)
>  
>  static void test_validate_uri_channels_none_set(char *name, MigrateCommon 
> *args)
>  {
> -    args->listen_uri = "defer";
>      args->start.hide_stderr = true;
> +    args->start.incoming_defer = true;
>  
>      do_test_validate_uri_channel(args);
>  }
> diff --git a/tests/qtest/migration/precopy-tests.c 
> b/tests/qtest/migration/precopy-tests.c
> index f17dc5176d..31fd4af1ad 100644
> --- a/tests/qtest/migration/precopy-tests.c
> +++ b/tests/qtest/migration/precopy-tests.c
> @@ -282,11 +282,12 @@ static void migrate_hook_end_fd(QTestState *from,
>  
>  static void test_precopy_fd_socket(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->connect_uri = "fd:fd-mig";
>      args->start_hook = migrate_hook_start_fd;
>      args->end_hook = migrate_hook_end_fd;
>  
> +    args->start.incoming_defer = true;
> +
>      test_precopy_common(args);
>  }
>  #endif /* _WIN32 */
> @@ -435,7 +436,6 @@ 
> migrate_hook_start_precopy_tcp_multifd_no_zero_page(QTestState *from,
>  
>  static void test_multifd_tcp_uri_none(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd;
>      /*
>       * Multifd is more complicated than most of the features, it
> @@ -444,6 +444,7 @@ static void test_multifd_tcp_uri_none(char *name, 
> MigrateCommon *args)
>       */
>      args->live = true;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -451,7 +452,6 @@ static void test_multifd_tcp_uri_none(char *name, 
> MigrateCommon *args)
>  
>  static void test_multifd_tcp_zero_page_legacy(char *name, MigrateCommon 
> *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = 
> migrate_hook_start_precopy_tcp_multifd_zero_page_legacy;
>      /*
>       * Multifd is more complicated than most of the features, it
> @@ -460,6 +460,7 @@ static void test_multifd_tcp_zero_page_legacy(char *name, 
> MigrateCommon *args)
>       */
>      args->live = true;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -467,7 +468,6 @@ static void test_multifd_tcp_zero_page_legacy(char *name, 
> MigrateCommon *args)
>  
>  static void test_multifd_tcp_no_zero_page(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd_no_zero_page;
>      /*
>       * Multifd is more complicated than most of the features, it
> @@ -476,6 +476,7 @@ static void test_multifd_tcp_no_zero_page(char *name, 
> MigrateCommon *args)
>       */
>      args->live = true;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -483,7 +484,6 @@ static void test_multifd_tcp_no_zero_page(char *name, 
> MigrateCommon *args)
>  
>  static void test_multifd_tcp_channels_none(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_precopy_tcp_multifd;
>      args->live = true;
>      args->connect_channels = ("[ { 'channel-type': 'main',"
> @@ -492,6 +492,7 @@ static void test_multifd_tcp_channels_none(char *name, 
> MigrateCommon *args)
>                               "              'host': '127.0.0.1',"
>                                "              'port': '0' } } ]");
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -513,6 +514,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args, 
> bool postcopy_ram)
>      QTestState *from, *to, *to2;
>  
>      args->start.hide_stderr = true;
> +    args->start.incoming_defer = true;
>  
>      if (migrate_start(&from, &to, "defer", &args->start)) {
>          return;
> @@ -560,6 +562,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args, 
> bool postcopy_ram)
>      wait_for_migration_status(from, "cancelled", NULL);
>  
>      args->start.only_target = true;
> +    args->start.incoming_defer = true;
>  
>      if (migrate_start(&from, &to2, "defer", &args->start)) {
>          return;
> @@ -734,6 +737,7 @@ static void test_cancel_src_after_status(char *test_path, 
> MigrateCommon *args)
>      QTestState *from, *to;
>  
>      args->start.hide_stderr = true;
> +    args->start.incoming_defer = true;
>  
>      if (migrate_start(&from, &to, "defer", &args->start)) {
>          return;
> diff --git a/tests/qtest/migration/tls-tests.c 
> b/tests/qtest/migration/tls-tests.c
> index 4ce7f6c676..40a78bd2d2 100644
> --- a/tests/qtest/migration/tls-tests.c
> +++ b/tests/qtest/migration/tls-tests.c
> @@ -673,10 +673,10 @@ 
> migrate_hook_start_multifd_tls_x509_reject_anon_client(QTestState *from,
>  
>  static void test_multifd_tcp_tls_psk_match(char *name, MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tcp_tls_psk_match;
>      args->end_hook = migrate_hook_end_tls_psk;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -684,12 +684,12 @@ static void test_multifd_tcp_tls_psk_match(char *name, 
> MigrateCommon *args)
>  
>  static void test_multifd_tcp_tls_psk_mismatch(char *name, MigrateCommon 
> *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tcp_tls_psk_mismatch;
>      args->end_hook = migrate_hook_end_tls_psk;
>      args->result = MIG_TEST_FAIL;
>  
>      args->start.hide_stderr = true;
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -698,10 +698,10 @@ static void test_multifd_tcp_tls_psk_mismatch(char 
> *name, MigrateCommon *args)
>  static void test_multifd_postcopy_tcp_tls_psk_match(char *name,
>                                                      MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tcp_tls_psk_match;
>      args->end_hook = migrate_hook_end_tls_psk;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>      args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_RAM] = true;
>  
> @@ -712,10 +712,10 @@ static void 
> test_multifd_postcopy_tcp_tls_psk_match(char *name,
>  static void test_multifd_tcp_tls_x509_default_host(char *name,
>                                                     MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tls_x509_default_host;
>      args->end_hook = migrate_hook_end_tls_x509;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -724,10 +724,10 @@ static void test_multifd_tcp_tls_x509_default_host(char 
> *name,
>  static void test_multifd_tcp_tls_x509_override_host(char *name,
>                                                      MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tls_x509_override_host;
>      args->end_hook = migrate_hook_end_tls_x509;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -749,11 +749,11 @@ static void 
> test_multifd_tcp_tls_x509_mismatch_host(char *name,
>       * to load migration state, and thus just aborts the migration
>       * without exiting.
>       */
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tls_x509_mismatch_host;
>      args->end_hook = migrate_hook_end_tls_x509;
>      args->result = MIG_TEST_FAIL;
>  
> +    args->start.incoming_defer = true;
>      args->start.hide_stderr = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
> @@ -763,10 +763,10 @@ static void 
> test_multifd_tcp_tls_x509_mismatch_host(char *name,
>  static void test_multifd_tcp_tls_x509_allow_anon_client(char *name,
>                                                          MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = migrate_hook_start_multifd_tls_x509_allow_anon_client;
>      args->end_hook = migrate_hook_end_tls_x509;
>  
> +    args->start.incoming_defer = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  
>      test_precopy_common(args);
> @@ -775,11 +775,11 @@ static void 
> test_multifd_tcp_tls_x509_allow_anon_client(char *name,
>  static void test_multifd_tcp_tls_x509_reject_anon_client(char *name,
>                                                           MigrateCommon *args)
>  {
> -    args->listen_uri = "defer";
>      args->start_hook = 
> migrate_hook_start_multifd_tls_x509_reject_anon_client;
>      args->end_hook = migrate_hook_end_tls_x509;
>      args->result = MIG_TEST_FAIL;
>  
> +    args->start.incoming_defer = true;
>      args->start.hide_stderr = true;
>      args->start.caps[MIGRATION_CAPABILITY_MULTIFD] = true;
>  

Attachment: pgp5D6Tw7StgV.pgp
Description: OpenPGP digital signature

Reply via email to