Some tests expect MigrationTestEnv::arch to be set. Initialize it early enough to avoid SIGSEGV, for example like the following g_str_equal() call in migration/precopy-tests.c:
954 void migration_test_add_precopy(MigrationTestEnv *env) 955 { ... 1001 if (g_str_equal(env->arch, "x86_64") && env->has_dirty_ring) { 1002 1003 migration_test_add("/migration/dirty_ring", 1004 test_precopy_unix_dirty_ring); Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- tests/qtest/migration/framework.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/framework.c index a3bd92a9519..38a0a1a5264 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -938,6 +938,8 @@ MigrationTestEnv *migration_get_env(void) exit(1); } + env->arch = qtest_get_arch(); + env->has_kvm = qtest_has_accel("kvm"); env->has_tcg = qtest_has_accel("tcg"); @@ -948,7 +950,6 @@ MigrationTestEnv *migration_get_env(void) env->has_dirty_ring = env->has_kvm && kvm_dirty_ring_supported(); env->has_uffd = ufd_version_check(&env->uffd_feature_thread_id); - env->arch = qtest_get_arch(); env->is_x86 = !strcmp(env->arch, "i386") || !strcmp(env->arch, "x86_64"); env->tmpfs = g_dir_make_tmp("migration-test-XXXXXX", &err); -- 2.47.1