tests/qtest/migration: Add a multifd + mapped-ram migration test

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240229153017.2221-24-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
Fabiano Rosas 2024-02-29 12:30:17 -03:00 committed by Peter Xu
parent decdc76772
commit 7a09f09283
1 changed files with 68 additions and 0 deletions

View File

@ -2248,6 +2248,46 @@ static void test_precopy_file_mapped_ram(void)
test_file_common(&args, true); test_file_common(&args, true);
} }
static void *migrate_multifd_mapped_ram_start(QTestState *from, QTestState *to)
{
migrate_mapped_ram_start(from, to);
migrate_set_parameter_int(from, "multifd-channels", 4);
migrate_set_parameter_int(to, "multifd-channels", 4);
migrate_set_capability(from, "multifd", true);
migrate_set_capability(to, "multifd", true);
return NULL;
}
static void test_multifd_file_mapped_ram_live(void)
{
g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
FILE_TEST_FILENAME);
MigrateCommon args = {
.connect_uri = uri,
.listen_uri = "defer",
.start_hook = migrate_multifd_mapped_ram_start,
};
test_file_common(&args, false);
}
static void test_multifd_file_mapped_ram(void)
{
g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
FILE_TEST_FILENAME);
MigrateCommon args = {
.connect_uri = uri,
.listen_uri = "defer",
.start_hook = migrate_multifd_mapped_ram_start,
};
test_file_common(&args, true);
}
static void test_precopy_tcp_plain(void) static void test_precopy_tcp_plain(void)
{ {
MigrateCommon args = { MigrateCommon args = {
@ -2524,6 +2564,25 @@ static void test_migrate_precopy_fd_file_mapped_ram(void)
}; };
test_file_common(&args, true); test_file_common(&args, true);
} }
static void *migrate_multifd_fd_mapped_ram_start(QTestState *from,
QTestState *to)
{
migrate_multifd_mapped_ram_start(from, to);
return migrate_precopy_fd_file_start(from, to);
}
static void test_multifd_fd_mapped_ram(void)
{
MigrateCommon args = {
.connect_uri = "fd:fd-mig",
.listen_uri = "defer",
.start_hook = migrate_multifd_fd_mapped_ram_start,
.finish_hook = test_migrate_fd_finish_hook
};
test_file_common(&args, true);
}
#endif /* _WIN32 */ #endif /* _WIN32 */
static void do_test_validate_uuid(MigrateStart *args, bool should_fail) static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
@ -3576,6 +3635,15 @@ int main(int argc, char **argv)
migration_test_add("/migration/precopy/file/mapped-ram/live", migration_test_add("/migration/precopy/file/mapped-ram/live",
test_precopy_file_mapped_ram_live); test_precopy_file_mapped_ram_live);
migration_test_add("/migration/multifd/file/mapped-ram",
test_multifd_file_mapped_ram);
migration_test_add("/migration/multifd/file/mapped-ram/live",
test_multifd_file_mapped_ram_live);
#ifndef _WIN32
migration_test_add("/migration/multifd/fd/mapped-ram",
test_multifd_fd_mapped_ram);
#endif
#ifdef CONFIG_GNUTLS #ifdef CONFIG_GNUTLS
migration_test_add("/migration/precopy/unix/tls/psk", migration_test_add("/migration/precopy/unix/tls/psk",
test_precopy_unix_tls_psk); test_precopy_unix_tls_psk);