/* * QTest testcase for migration * * 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 "migration/framework.h" #include "qemu/module.h" static void parse_args(int *argc_p, char ***argv_p, bool *full_set) { int argc = *argc_p; char **argv = *argv_p; int i, j; j = 1; for (i = 1; i < argc; i++) { if (g_str_equal(argv[i], "--full")) { *full_set = true; continue; } argv[j++] = argv[i]; if (i >= j) { argv[i] = NULL; } } *argc_p = j; } int main(int argc, char **argv) { MigrationTestEnv *env; int ret; bool full_set = false; /* strip the --full option if it's present */ parse_args(&argc, &argv, &full_set); g_test_init(&argc, &argv, NULL); env = migration_get_env(); env->full_set = full_set; env->full_set = true; /* temporary */ module_call_init(MODULE_INIT_QOM); migration_test_add_tls(env); migration_test_add_compression(env); migration_test_add_postcopy(env); migration_test_add_file(env); migration_test_add_precopy(env); migration_test_add_cpr(env); migration_test_add_misc(env); ret = g_test_run(); g_assert_cmpint(ret, ==, 0); ret = migration_env_clean(env); return ret; }