|  | #include "qemu/osdep.h" | 
|  | #include "libqtest.h" | 
|  |  | 
|  | const char common_args[] = "-nodefaults -machine none"; | 
|  |  | 
|  | static void test_modules_load(const void *data) | 
|  | { | 
|  | QTestState *qts; | 
|  | const char **args = (const char **)data; | 
|  |  | 
|  | qts = qtest_init(common_args); | 
|  | qtest_module_load(qts, args[0], args[1]); | 
|  | qtest_quit(qts); | 
|  | } | 
|  |  | 
|  | int main(int argc, char *argv[]) | 
|  | { | 
|  | const char *modules[] = { | 
|  | #ifdef CONFIG_BLKIO | 
|  | "block-", "blkio", | 
|  | #endif | 
|  | #ifdef CONFIG_CURL | 
|  | "block-", "curl", | 
|  | #endif | 
|  | #ifdef CONFIG_GLUSTERFS | 
|  | "block-", "gluster", | 
|  | #endif | 
|  | #ifdef CONFIG_LIBISCSI | 
|  | "block-", "iscsi", | 
|  | #endif | 
|  | #ifdef CONFIG_LIBNFS | 
|  | "block-", "nfs", | 
|  | #endif | 
|  | #ifdef CONFIG_LIBSSH | 
|  | "block-", "ssh", | 
|  | #endif | 
|  | #ifdef CONFIG_RBD | 
|  | "block-", "rbd", | 
|  | #endif | 
|  | #ifdef CONFIG_AUDIO_ALSA | 
|  | "audio-", "alsa", | 
|  | #endif | 
|  | #ifdef CONFIG_AUDIO_OSS | 
|  | "audio-", "oss", | 
|  | #endif | 
|  | #ifdef CONFIG_AUDIO_PA | 
|  | "audio-", "pa", | 
|  | #endif | 
|  | #ifdef CONFIG_AUDIO_SDL | 
|  | "audio-", "sdl", | 
|  | #endif | 
|  | #ifdef CONFIG_CURSES | 
|  | "ui-", "curses", | 
|  | #endif | 
|  | #if defined(CONFIG_GTK) && defined(CONFIG_VTE) | 
|  | "ui-", "gtk", | 
|  | #endif | 
|  | #ifdef CONFIG_SDL | 
|  | "ui-", "sdl", | 
|  | #endif | 
|  | #if defined(CONFIG_SPICE) && defined(CONFIG_GIO) | 
|  | "ui-", "spice-app", | 
|  | #endif | 
|  | }; | 
|  | int i; | 
|  |  | 
|  | g_test_init(&argc, &argv, NULL); | 
|  |  | 
|  | for (i = 0; i < G_N_ELEMENTS(modules); i += 2) { | 
|  | char *testname = g_strdup_printf("/module/load/%s%s", | 
|  | modules[i], modules[i + 1]); | 
|  | qtest_add_data_func(testname, modules + i, test_modules_load); | 
|  | g_free(testname); | 
|  | } | 
|  |  | 
|  | return g_test_run(); | 
|  | } |