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é <[email protected]>
---
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