Skip to content

Commit

Permalink
tests/qtest/migration: Add tests for mapped-ram file-based migration
Browse files Browse the repository at this point in the history
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240229153017.2221-12-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>
  • Loading branch information
Fabiano Rosas authored and xzpeter committed Mar 1, 2024
1 parent 2f6b882 commit c7076ec
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions tests/qtest/migration-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -2200,6 +2200,14 @@ static void *test_mode_reboot_start(QTestState *from, QTestState *to)
return NULL;
}

static void *migrate_mapped_ram_start(QTestState *from, QTestState *to)
{
migrate_set_capability(from, "mapped-ram", true);
migrate_set_capability(to, "mapped-ram", true);

return NULL;
}

static void test_mode_reboot(void)
{
g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
Expand All @@ -2214,6 +2222,32 @@ static void test_mode_reboot(void)
test_file_common(&args, true);
}

static void test_precopy_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_mapped_ram_start,
};

test_file_common(&args, false);
}

static void test_precopy_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_mapped_ram_start,
};

test_file_common(&args, true);
}

static void test_precopy_tcp_plain(void)
{
MigrateCommon args = {
Expand Down Expand Up @@ -2462,6 +2496,13 @@ static void *migrate_precopy_fd_file_start(QTestState *from, QTestState *to)
return NULL;
}

static void *migrate_fd_file_mapped_ram_start(QTestState *from, QTestState *to)
{
migrate_mapped_ram_start(from, to);

return migrate_precopy_fd_file_start(from, to);
}

static void test_migrate_precopy_fd_file(void)
{
MigrateCommon args = {
Expand All @@ -2472,6 +2513,17 @@ static void test_migrate_precopy_fd_file(void)
};
test_file_common(&args, true);
}

static void test_migrate_precopy_fd_file_mapped_ram(void)
{
MigrateCommon args = {
.listen_uri = "defer",
.connect_uri = "fd:fd-mig",
.start_hook = migrate_fd_file_mapped_ram_start,
.finish_hook = test_migrate_fd_finish_hook
};
test_file_common(&args, true);
}
#endif /* _WIN32 */

static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
Expand Down Expand Up @@ -3519,6 +3571,11 @@ int main(int argc, char **argv)
migration_test_add("/migration/mode/reboot", test_mode_reboot);
}

migration_test_add("/migration/precopy/file/mapped-ram",
test_precopy_file_mapped_ram);
migration_test_add("/migration/precopy/file/mapped-ram/live",
test_precopy_file_mapped_ram_live);

#ifdef CONFIG_GNUTLS
migration_test_add("/migration/precopy/unix/tls/psk",
test_precopy_unix_tls_psk);
Expand Down Expand Up @@ -3580,6 +3637,8 @@ int main(int argc, char **argv)
test_migrate_precopy_fd_socket);
migration_test_add("/migration/precopy/fd/file",
test_migrate_precopy_fd_file);
migration_test_add("/migration/precopy/fd/file/mapped-ram",
test_migrate_precopy_fd_file_mapped_ram);
#endif
migration_test_add("/migration/validate_uuid", test_validate_uuid);
migration_test_add("/migration/validate_uuid_error",
Expand Down

0 comments on commit c7076ec

Please sign in to comment.