migrate_args calls g_test_skip, but that does not end the test. It must also return an error code. This fixes the queued patch "migration-test: migrate_args".
Suggested-by: Fabiano Rosas <[email protected]> Signed-off-by: Steve Sistare <[email protected]> --- tests/qtest/migration/framework.c | 9 ++++++--- tests/qtest/migration/framework.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/framework.c index 2dfb1ee..8044b2a 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -258,7 +258,7 @@ static char *test_shmem_path(void) return g_strdup_printf("/dev/shm/qemu-%d", getpid()); } -void migrate_args(char **from, char **to, const char *uri, MigrateStart *args) +int migrate_args(char **from, char **to, const char *uri, MigrateStart *args) { /* options for source and target */ g_autofree gchar *arch_opts = NULL; @@ -351,7 +351,7 @@ void migrate_args(char **from, char **to, const char *uri, MigrateStart *args) if (!qtest_has_machine(machine_alias)) { g_autofree char *msg = g_strdup_printf("machine %s not supported", machine_alias); g_test_skip(msg); - return; + return -1; } machine = resolve_machine_version(machine_alias, QEMU_ENV_SRC, @@ -398,6 +398,7 @@ void migrate_args(char **from, char **to, const char *uri, MigrateStart *args) *from = cmd_source; *to = cmd_target; + return 0; } int migrate_start(QTestState **from, QTestState **to, const char *uri, @@ -419,7 +420,9 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri, bootfile_create(qtest_get_arch(), tmpfs, args->suspend_me); src_state.suspend_me = args->suspend_me; - migrate_args(&cmd_source, &cmd_target, uri, args); + if (migrate_args(&cmd_source, &cmd_target, uri, args)) { + return -1; + } if (!args->only_target) { *from = qtest_init_ext(QEMU_ENV_SRC, cmd_source, capabilities, true); diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/framework.h index 51a8a7e..ad5ca57 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -227,7 +227,7 @@ void wait_for_serial(const char *side); void migrate_prepare_for_dirty_mem(QTestState *from); void migrate_wait_for_dirty_mem(QTestState *from, QTestState *to); -void migrate_args(char **from, char **to, const char *uri, MigrateStart *args); +int migrate_args(char **from, char **to, const char *uri, MigrateStart *args); int migrate_start(QTestState **from, QTestState **to, const char *uri, MigrateStart *args); void migrate_end(QTestState *from, QTestState *to, bool test_dest); -- 1.8.3.1
