mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
tests/qtest/migration: Split CPR tests
Move the mode/reboot test into a separate file to hold all the CPR tests. Currently there's just one test, but we're adding more CPR modes and the feature is different enough from live migration that it's worth it to have a separate file for it. Reviewed-by: Peter Xu <peterx@redhat.com> Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
parent
8a64554456
commit
44bd87a500
4 changed files with 61 additions and 33 deletions
|
@ -338,6 +338,7 @@ migration_files = [files(
|
|||
'migration/migration-qmp.c',
|
||||
'migration/migration-util.c',
|
||||
'migration/compression-tests.c',
|
||||
'migration/cpr-tests.c',
|
||||
'migration/file-tests.c',
|
||||
'migration/precopy-tests.c',
|
||||
'migration/postcopy-tests.c',
|
||||
|
|
|
@ -145,31 +145,6 @@ static void test_ignore_shared(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
static void *migrate_hook_start_mode_reboot(QTestState *from, QTestState *to)
|
||||
{
|
||||
migrate_set_parameter_str(from, "mode", "cpr-reboot");
|
||||
migrate_set_parameter_str(to, "mode", "cpr-reboot");
|
||||
|
||||
migrate_set_capability(from, "x-ignore-shared", true);
|
||||
migrate_set_capability(to, "x-ignore-shared", true);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void test_mode_reboot(void)
|
||||
{
|
||||
g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
|
||||
FILE_TEST_FILENAME);
|
||||
MigrateCommon args = {
|
||||
.start.use_shmem = true,
|
||||
.connect_uri = uri,
|
||||
.listen_uri = "defer",
|
||||
.start_hook = migrate_hook_start_mode_reboot,
|
||||
};
|
||||
|
||||
test_file_common(&args, true);
|
||||
}
|
||||
|
||||
static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
|
||||
{
|
||||
g_autofree char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
|
||||
|
@ -308,20 +283,13 @@ int main(int argc, char **argv)
|
|||
migration_test_add_postcopy(env);
|
||||
migration_test_add_file(env);
|
||||
migration_test_add_precopy(env);
|
||||
migration_test_add_cpr(env);
|
||||
|
||||
migration_test_add("/migration/bad_dest", test_baddest);
|
||||
#ifndef _WIN32
|
||||
migration_test_add("/migration/analyze-script", test_analyze_script);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Our CI system has problems with shared memory.
|
||||
* Don't run this test until we find a workaround.
|
||||
*/
|
||||
if (getenv("QEMU_TEST_FLAKY_TESTS")) {
|
||||
migration_test_add("/migration/mode/reboot", test_mode_reboot);
|
||||
}
|
||||
|
||||
/* migration_test_add("/migration/ignore_shared", test_ignore_shared); */
|
||||
|
||||
migration_test_add("/migration/validate_uuid", test_validate_uuid);
|
||||
|
|
58
tests/qtest/migration/cpr-tests.c
Normal file
58
tests/qtest/migration/cpr-tests.c
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* QTest testcases for CPR
|
||||
*
|
||||
* Copyright (c) 2016-2018 Red Hat, Inc. and/or its affiliates
|
||||
* based on the vhost-user-test.c that is:
|
||||
* Copyright (c) 2014 Virtual Open Systems Sarl.
|
||||
*
|
||||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "libqtest.h"
|
||||
#include "migration/framework.h"
|
||||
#include "migration/migration-qmp.h"
|
||||
#include "migration/migration-util.h"
|
||||
|
||||
|
||||
static char *tmpfs;
|
||||
|
||||
static void *migrate_hook_start_mode_reboot(QTestState *from, QTestState *to)
|
||||
{
|
||||
migrate_set_parameter_str(from, "mode", "cpr-reboot");
|
||||
migrate_set_parameter_str(to, "mode", "cpr-reboot");
|
||||
|
||||
migrate_set_capability(from, "x-ignore-shared", true);
|
||||
migrate_set_capability(to, "x-ignore-shared", true);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void test_mode_reboot(void)
|
||||
{
|
||||
g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
|
||||
FILE_TEST_FILENAME);
|
||||
MigrateCommon args = {
|
||||
.start.use_shmem = true,
|
||||
.connect_uri = uri,
|
||||
.listen_uri = "defer",
|
||||
.start_hook = migrate_hook_start_mode_reboot,
|
||||
};
|
||||
|
||||
test_file_common(&args, true);
|
||||
}
|
||||
|
||||
void migration_test_add_cpr(MigrationTestEnv *env)
|
||||
{
|
||||
tmpfs = env->tmpfs;
|
||||
|
||||
/*
|
||||
* Our CI system has problems with shared memory.
|
||||
* Don't run this test until we find a workaround.
|
||||
*/
|
||||
if (getenv("QEMU_TEST_FLAKY_TESTS")) {
|
||||
migration_test_add("/migration/mode/reboot", test_mode_reboot);
|
||||
}
|
||||
}
|
|
@ -224,5 +224,6 @@ void migration_test_add_compression(MigrationTestEnv *env);
|
|||
void migration_test_add_postcopy(MigrationTestEnv *env);
|
||||
void migration_test_add_file(MigrationTestEnv *env);
|
||||
void migration_test_add_precopy(MigrationTestEnv *env);
|
||||
void migration_test_add_cpr(MigrationTestEnv *env);
|
||||
|
||||
#endif /* TEST_FRAMEWORK_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue