From: Fabiano Rosas <farosas@suse.de>
Don't allow changing the default -incoming URI via migrate_start. The
default is now -incoming defer. If a test really needs to alter this
(such as with CPR), the target_opts variable is still available to
change the command line.
(aside from the larger goal of using defer, this change is a step
towards allowing migrate_start() to be invoked only once for all
tests)
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Tested-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20260505160915.25558-15-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>
---
tests/qtest/migration/framework.h | 5 ++---
tests/qtest/migration/colo-tests.c | 2 +-
tests/qtest/migration/cpr-tests.c | 6 +++---
tests/qtest/migration/file-tests.c | 3 +--
tests/qtest/migration/framework.c | 17 ++++++++---------
tests/qtest/migration/misc-tests.c | 10 +++++-----
tests/qtest/migration/precopy-tests.c | 12 ++++++------
7 files changed, 26 insertions(+), 29 deletions(-)
diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/framework.h
index 8d5331a860..d7e5db2cfe 100644
--- a/tests/qtest/migration/framework.h
+++ b/tests/qtest/migration/framework.h
@@ -231,9 +231,8 @@ void wait_for_serial(const char *side);
void migrate_prepare_for_dirty_mem(QTestState *from);
void migrate_wait_for_dirty_mem(QTestState *from, QTestState *to);
-int migrate_args(char **from, char **to, const char *uri, MigrateStart *args);
-int migrate_start(QTestState **from, QTestState **to, const char *uri,
- MigrateStart *args);
+int migrate_args(char **from, char **to, MigrateStart *args);
+int migrate_start(QTestState **from, QTestState **to, MigrateStart *args);
void migrate_end(QTestState *from, QTestState *to, bool test_dest);
void test_postcopy_common(MigrateCommon *args);
diff --git a/tests/qtest/migration/colo-tests.c b/tests/qtest/migration/colo-tests.c
index 4add4a014b..a3d27e7bf6 100644
--- a/tests/qtest/migration/colo-tests.c
+++ b/tests/qtest/migration/colo-tests.c
@@ -45,7 +45,7 @@ static int test_colo_common(MigrateCommon *args,
args->start.caps[MIGRATION_CAPABILITY_RETURN_PATH] = true;
args->start.caps[MIGRATION_CAPABILITY_X_COLO] = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return -1;
}
diff --git a/tests/qtest/migration/cpr-tests.c b/tests/qtest/migration/cpr-tests.c
index 9091a84213..fc09dad9c0 100644
--- a/tests/qtest/migration/cpr-tests.c
+++ b/tests/qtest/migration/cpr-tests.c
@@ -60,7 +60,7 @@ static int test_transfer(MigrateCommon *args, const char *cpr_channel,
obj = migrate_str_to_channel(cpr_channel);
qlist_append(channels_list, obj);
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return -1;
}
@@ -179,7 +179,7 @@ static void set_cpr_exec_args(QTestState *who, MigrateCommon *args)
*/
g_assert(args->start.hide_stderr == false);
- ret = migrate_args(&from_args, &to_args, args->listen_uri, &args->start);
+ ret = migrate_args(&from_args, &to_args, &args->start);
g_assert(!ret);
qtest_from_args = qtest_qemu_args(from_args);
@@ -230,7 +230,7 @@ static void test_cpr_exec(MigrateCommon *args)
g_autofree char *filename = g_strdup_printf("%s/%s", tmpfs,
FILE_TEST_FILENAME);
- if (migrate_start(&from, NULL, "defer", &args->start)) {
+ if (migrate_start(&from, NULL, &args->start)) {
return;
}
diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/file-tests.c
index 4b6a2eeb7b..36109d30ba 100644
--- a/tests/qtest/migration/file-tests.c
+++ b/tests/qtest/migration/file-tests.c
@@ -47,8 +47,7 @@ static void test_file_connect_outgoing_fd_leak(char *name, MigrateCommon *args)
return;
}
- args->listen_uri = "defer";
- if (migrate_start(&from, &to, args->listen_uri, &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/framework.c
index b1bf8ea8ae..b92e6b7df1 100644
--- a/tests/qtest/migration/framework.c
+++ b/tests/qtest/migration/framework.c
@@ -308,7 +308,7 @@ static char *migrate_mem_type_get_opts(MemType type, const char *memory_size)
return opts;
}
-int migrate_args(char **from, char **to, const char *uri, MigrateStart *args)
+int migrate_args(char **from, char **to, MigrateStart *args)
{
/* options for source and target */
g_autofree gchar *arch_opts = NULL;
@@ -423,11 +423,11 @@ int migrate_args(char **from, char **to, const char *uri, MigrateStart *args)
"-name target,debug-threads=on "
"%s "
"-serial file:%s/dest_serial "
- "-incoming %s "
+ "-incoming defer "
"%s %s %s %s",
kvm_opts ? kvm_opts : "",
machine, machine_opts,
- memory_backend, tmpfs, uri,
+ memory_backend, tmpfs,
events,
arch_opts ? arch_opts : "",
args->opts_target ? args->opts_target : "",
@@ -474,8 +474,7 @@ static void migrate_mem_type_cleanup(MemType type)
}
}
-int migrate_start(QTestState **from, QTestState **to, const char *uri,
- MigrateStart *args)
+int migrate_start(QTestState **from, QTestState **to, MigrateStart *args)
{
g_autofree gchar *cmd_source = NULL;
g_autofree gchar *cmd_target = NULL;
@@ -490,7 +489,7 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri,
bootfile_create(qtest_get_arch(), tmpfs, args->suspend_me);
src_state.suspend_me = args->suspend_me;
- if (migrate_args(&cmd_source, &cmd_target, uri, args)) {
+ if (migrate_args(&cmd_source, &cmd_target, args)) {
return -1;
}
@@ -563,7 +562,7 @@ static int migrate_postcopy_prepare(QTestState **from_ptr,
args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_BLOCKTIME] = true;
args->start.caps[MIGRATION_CAPABILITY_POSTCOPY_RAM] = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return -1;
}
@@ -842,7 +841,7 @@ int test_precopy_common(MigrateCommon *args)
args->listen_uri = "tcp:127.0.0.1:0";
}
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return -1;
}
@@ -991,7 +990,7 @@ void test_file_common(MigrateCommon *args, bool stop_src)
bool check_offset = false;
g_autofree char *uri = NULL;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
diff --git a/tests/qtest/migration/misc-tests.c b/tests/qtest/migration/misc-tests.c
index 8216b5d79d..e5d5fc4959 100644
--- a/tests/qtest/migration/misc-tests.c
+++ b/tests/qtest/migration/misc-tests.c
@@ -28,7 +28,7 @@ static void test_baddest(char *name, MigrateCommon *args)
args->start.hide_stderr = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -54,7 +54,7 @@ static void test_analyze_script(char *name, MigrateCommon *args)
return;
}
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -115,7 +115,7 @@ static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
QTestState *from, *to;
- if (migrate_start(&from, &to, "defer", args)) {
+ if (migrate_start(&from, &to, args)) {
return;
}
@@ -180,7 +180,7 @@ static void do_test_validate_uri_channel(MigrateCommon *args)
QTestState *from, *to;
QObject *channels;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -234,7 +234,7 @@ static void test_validate_caps_pair(char *test_path, MigrateCommon *args)
args->start.hide_stderr = true;
args->start.only_source = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/precopy-tests.c
index e915b21712..3161e5f247 100644
--- a/tests/qtest/migration/precopy-tests.c
+++ b/tests/qtest/migration/precopy-tests.c
@@ -268,7 +268,7 @@ static void test_auto_converge(char *name, MigrateCommon *args)
int64_t percentage;
const int64_t init_pct = 5, inc_pct = 25, max_pct = 95;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -414,7 +414,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args, bool postcopy_ram)
args->start.hide_stderr = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -460,7 +460,7 @@ static void test_multifd_tcp_cancel(MigrateCommon *args, bool postcopy_ram)
args->start.only_target = true;
- if (migrate_start(&from, &to2, "defer", &args->start)) {
+ if (migrate_start(&from, &to2, &args->start)) {
return;
}
@@ -634,7 +634,7 @@ static void test_cancel_src_after_status(char *test_path, MigrateCommon *args)
args->start.hide_stderr = true;
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -973,7 +973,7 @@ static void test_dirty_limit(char *name, MigrateCommon *args)
args->connect_uri = uri;
/* Start src, dst vm */
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
@@ -1021,7 +1021,7 @@ static void test_dirty_limit(char *name, MigrateCommon *args)
args->start.use_dirty_ring = true;
/* Restart dst vm, src vm already show up so we needn't wait anymore */
- if (migrate_start(&from, &to, "defer", &args->start)) {
+ if (migrate_start(&from, &to, &args->start)) {
return;
}
--
2.53.0