tests/qtest/migration: Introduce find_common_machine_version
When using two different QEMU binaries for migration testing, we'll need to find what is the machine version that will work with both binaries. Add a helper for that. Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Fabiano Rosas <farosas@suse.de> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231018192741.25885-7-farosas@suse.de>
This commit is contained in:
parent
a3c0ebc9b0
commit
dcf389cbc8
@ -240,3 +240,29 @@ void wait_for_migration_fail(QTestState *from, bool allow_active)
|
||||
g_assert(qdict_get_bool(rsp_return, "running"));
|
||||
qobject_unref(rsp_return);
|
||||
}
|
||||
|
||||
char *find_common_machine_version(const char *mtype, const char *var1,
|
||||
const char *var2)
|
||||
{
|
||||
g_autofree char *type1 = qtest_resolve_machine_alias(var1, mtype);
|
||||
g_autofree char *type2 = qtest_resolve_machine_alias(var2, mtype);
|
||||
|
||||
g_assert(type1 && type2);
|
||||
|
||||
if (g_str_equal(type1, type2)) {
|
||||
/* either can be used */
|
||||
return g_strdup(type1);
|
||||
}
|
||||
|
||||
if (qtest_has_machine_with_env(var2, type1)) {
|
||||
return g_strdup(type1);
|
||||
}
|
||||
|
||||
if (qtest_has_machine_with_env(var1, type2)) {
|
||||
return g_strdup(type2);
|
||||
}
|
||||
|
||||
g_test_message("No common machine version for machine type '%s' between "
|
||||
"binaries %s and %s", mtype, getenv(var1), getenv(var2));
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
@ -43,4 +43,6 @@ void wait_for_migration_complete(QTestState *who);
|
||||
|
||||
void wait_for_migration_fail(QTestState *from, bool allow_active);
|
||||
|
||||
char *find_common_machine_version(const char *mtype, const char *var1,
|
||||
const char *var2);
|
||||
#endif /* MIGRATION_HELPERS_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user