mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
tests/qtest/migration: Introduce migration_test_add_suffix
Introduce a new migration_test_add_suffix to allow programmatic creation of tests based on a suffix. Pass the test name into the test so it can know which variant to run. Reviewed-by: Peter Xu <peterx@redhat.com> Message-ID: <20250213175927.19642-8-farosas@suse.de> Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
parent
4a228bcc99
commit
aabb2a5b5d
2 changed files with 26 additions and 0 deletions
|
@ -236,6 +236,7 @@ char *resolve_machine_version(const char *alias, const char *var1,
|
|||
typedef struct {
|
||||
char *name;
|
||||
void (*func)(void);
|
||||
void (*func_full)(void *);
|
||||
} MigrationTest;
|
||||
|
||||
static void migration_test_destroy(gpointer data)
|
||||
|
@ -265,6 +266,29 @@ void migration_test_add(const char *path, void (*fn)(void))
|
|||
migration_test_destroy);
|
||||
}
|
||||
|
||||
static void migration_test_wrapper_full(const void *data)
|
||||
{
|
||||
MigrationTest *test = (MigrationTest *)data;
|
||||
|
||||
g_test_message("Running /%s%s", qtest_get_arch(), test->name);
|
||||
test->func_full(test->name);
|
||||
}
|
||||
|
||||
void migration_test_add_suffix(const char *path, const char *suffix,
|
||||
void (*fn)(void *))
|
||||
{
|
||||
MigrationTest *test = g_new0(MigrationTest, 1);
|
||||
|
||||
g_assert(g_str_has_suffix(path, "/"));
|
||||
g_assert(!g_str_has_prefix(suffix, "/"));
|
||||
|
||||
test->func_full = fn;
|
||||
test->name = g_strconcat(path, suffix, NULL);
|
||||
|
||||
qtest_add_data_func_full(test->name, test, migration_test_wrapper_full,
|
||||
migration_test_destroy);
|
||||
}
|
||||
|
||||
#ifdef O_DIRECT
|
||||
/*
|
||||
* Probe for O_DIRECT support on the filesystem. Since this is used
|
||||
|
|
|
@ -51,6 +51,8 @@ static inline bool probe_o_direct_support(const char *tmpfs)
|
|||
bool ufd_version_check(bool *uffd_feature_thread_id);
|
||||
bool kvm_dirty_ring_supported(void);
|
||||
void migration_test_add(const char *path, void (*fn)(void));
|
||||
void migration_test_add_suffix(const char *path, const char *suffix,
|
||||
void (*fn)(void *));
|
||||
char *migrate_get_connect_uri(QTestState *who);
|
||||
void migrate_set_ports(QTestState *to, QList *channel_list);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue