Use the existing file tests to test the new way of passing parameters to the migration via the config argument to qmp_migrate*.
Signed-off-by: Fabiano Rosas <faro...@suse.de> --- tests/qtest/migration/file-tests.c | 68 +++++++++++---------------- tests/qtest/migration/framework.c | 9 ++-- tests/qtest/migration/precopy-tests.c | 1 + 3 files changed, 34 insertions(+), 44 deletions(-) diff --git a/tests/qtest/migration/file-tests.c b/tests/qtest/migration/file-tests.c index 4d78ce0855..656d6527e8 100644 --- a/tests/qtest/migration/file-tests.c +++ b/tests/qtest/migration/file-tests.c @@ -27,6 +27,7 @@ static void test_precopy_file(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", + .start.config = qdict_new(), }; test_file_common(&args, true); @@ -74,6 +75,7 @@ static void test_precopy_file_offset_fdset(void) .connect_uri = uri, .listen_uri = "defer", .start_hook = migrate_hook_start_file_offset_fdset, + .start.config = qdict_new(), }; test_file_common(&args, false); @@ -88,6 +90,7 @@ static void test_precopy_file_offset(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", + .start.config = qdict_new(), }; test_file_common(&args, false); @@ -102,6 +105,7 @@ static void test_precopy_file_offset_bad(void) .connect_uri = uri, .listen_uri = "defer", .result = MIG_TEST_QMP_ERROR, + .start.config = qdict_new(), }; test_file_common(&args, false); @@ -114,11 +118,10 @@ static void test_precopy_file_mapped_ram_live(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", - .start = { - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - }, + .start.config = qdict_new(), }; + qdict_put_bool(args.start.config, "mapped-ram", true); test_file_common(&args, false); } @@ -129,11 +132,9 @@ static void test_precopy_file_mapped_ram(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", - .start = { - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - }, + .start.config = qdict_new(), }; - + qdict_put_bool(args.start.config, "mapped-ram", true); test_file_common(&args, true); } @@ -144,12 +145,11 @@ static void test_multifd_file_mapped_ram_live(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", - .start = { - .caps[MIGRATION_CAPABILITY_MULTIFD] = true, - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - }, + .start.config = qdict_new(), }; + qdict_put_bool(args.start.config, "mapped-ram", true); + qdict_put_bool(args.start.config, "multifd", true); test_file_common(&args, false); } @@ -160,24 +160,13 @@ static void test_multifd_file_mapped_ram(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", - .start = { - .caps[MIGRATION_CAPABILITY_MULTIFD] = true, - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - }, + .start.config = qdict_new(), }; - + qdict_put_bool(args.start.config, "mapped-ram", true); + qdict_put_bool(args.start.config, "multifd", true); test_file_common(&args, true); } -static void *migrate_hook_start_multifd_mapped_ram_dio(QTestState *from, - QTestState *to) -{ - migrate_set_parameter_bool(from, "direct-io", true); - migrate_set_parameter_bool(to, "direct-io", true); - - return NULL; -} - static void test_multifd_file_mapped_ram_dio(void) { g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs, @@ -185,13 +174,13 @@ static void test_multifd_file_mapped_ram_dio(void) MigrateCommon args = { .connect_uri = uri, .listen_uri = "defer", - .start_hook = migrate_hook_start_multifd_mapped_ram_dio, - .start = { - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - .caps[MIGRATION_CAPABILITY_MULTIFD] = true, - }, + .start.config = qdict_new(), }; + qdict_put_bool(args.start.config, "direct-io", true); + qdict_put_bool(args.start.config, "mapped-ram", true); + qdict_put_bool(args.start.config, "multifd", true); + if (!probe_o_direct_support(tmpfs)) { g_test_skip("Filesystem does not support O_DIRECT"); return; @@ -235,9 +224,6 @@ static void *migrate_hook_start_multifd_mapped_ram_fdset_dio(QTestState *from, fdset_add_fds(from, file, O_WRONLY, 2, true); fdset_add_fds(to, file, O_RDONLY, 2, true); - migrate_set_parameter_bool(from, "direct-io", true); - migrate_set_parameter_bool(to, "direct-io", true); - return NULL; } @@ -261,12 +247,11 @@ static void test_multifd_file_mapped_ram_fdset(void) .listen_uri = "defer", .start_hook = migrate_hook_start_multifd_mapped_ram_fdset, .end_hook = migrate_hook_end_multifd_mapped_ram_fdset, - .start = { - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - .caps[MIGRATION_CAPABILITY_MULTIFD] = true, - }, + .start.config = qdict_new(), }; + qdict_put_bool(args.start.config, "mapped-ram", true); + qdict_put_bool(args.start.config, "multifd", true); test_file_common(&args, true); } @@ -279,12 +264,13 @@ static void test_multifd_file_mapped_ram_fdset_dio(void) .listen_uri = "defer", .start_hook = migrate_hook_start_multifd_mapped_ram_fdset_dio, .end_hook = migrate_hook_end_multifd_mapped_ram_fdset, - .start = { - .caps[MIGRATION_CAPABILITY_MAPPED_RAM] = true, - .caps[MIGRATION_CAPABILITY_MULTIFD] = true, - }, + .start.config = qdict_new(), }; + qdict_put_bool(args.start.config, "direct-io", true); + qdict_put_bool(args.start.config, "mapped-ram", true); + qdict_put_bool(args.start.config, "multifd", true); + if (!probe_o_direct_support(tmpfs)) { g_test_skip("Filesystem does not support O_DIRECT"); return; diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/framework.c index 5025299d6a..37c5c884af 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -974,18 +974,21 @@ void test_file_common(MigrateCommon *args, bool stop_src) } if (args->result == MIG_TEST_QMP_ERROR) { - migrate_qmp_fail(from, args->connect_uri, NULL, "{}"); + migrate_qmp_fail(from, args->connect_uri, NULL, "{ 'config': %p }", + args->start.config); goto finish; } - migrate_qmp(from, to, args->connect_uri, NULL, "{}"); + migrate_qmp(from, to, args->connect_uri, NULL, "{ 'config': %p }", + args->start.config); wait_for_migration_complete(from); /* * 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->connect_uri, NULL, "{ 'config': %p }", + args->start.config); wait_for_migration_complete(to); if (stop_src) { diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/precopy-tests.c index 35d4274c69..9606dc1d02 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -338,6 +338,7 @@ static void test_precopy_fd_file(void) .connect_uri = "fd:fd-mig", .start_hook = migrate_hook_start_precopy_fd_file, .end_hook = migrate_hook_end_fd, + .start.config = qdict_new(), }; test_file_common(&args, true); } -- 2.35.3