1eb062cfaSMarc-André Lureau #include "qemu/osdep.h" 2eb062cfaSMarc-André Lureau #include "libqtest.h" 3eb062cfaSMarc-André Lureau 4d39b6263SMarc-André Lureau const char common_args[] = "-nodefaults -machine none"; 5d39b6263SMarc-André Lureau 6eb062cfaSMarc-André Lureau static void test_modules_load(const void *data) 7eb062cfaSMarc-André Lureau { 8eb062cfaSMarc-André Lureau QTestState *qts; 90712c1b1SPaolo Bonzini const char **args = (const char **)data; 10eb062cfaSMarc-André Lureau 11d39b6263SMarc-André Lureau qts = qtest_init(common_args); 12eb062cfaSMarc-André Lureau qtest_module_load(qts, args[0], args[1]); 13eb062cfaSMarc-André Lureau qtest_quit(qts); 14eb062cfaSMarc-André Lureau } 15eb062cfaSMarc-André Lureau 16eb062cfaSMarc-André Lureau int main(int argc, char *argv[]) 17eb062cfaSMarc-André Lureau { 18eb062cfaSMarc-André Lureau const char *modules[] = { 19eb062cfaSMarc-André Lureau #ifdef CONFIG_CURL 20eb062cfaSMarc-André Lureau "block-", "curl", 21eb062cfaSMarc-André Lureau #endif 22eb062cfaSMarc-André Lureau #ifdef CONFIG_GLUSTERFS 23eb062cfaSMarc-André Lureau "block-", "gluster", 24eb062cfaSMarc-André Lureau #endif 25eb062cfaSMarc-André Lureau #ifdef CONFIG_LIBISCSI 26eb062cfaSMarc-André Lureau "block-", "iscsi", 27eb062cfaSMarc-André Lureau #endif 28eb062cfaSMarc-André Lureau #ifdef CONFIG_LIBNFS 29eb062cfaSMarc-André Lureau "block-", "nfs", 30eb062cfaSMarc-André Lureau #endif 31eb062cfaSMarc-André Lureau #ifdef CONFIG_LIBSSH 32eb062cfaSMarc-André Lureau "block-", "ssh", 33eb062cfaSMarc-André Lureau #endif 34eb062cfaSMarc-André Lureau #ifdef CONFIG_RBD 35eb062cfaSMarc-André Lureau "block-", "rbd", 36eb062cfaSMarc-André Lureau #endif 37eb062cfaSMarc-André Lureau #ifdef CONFIG_AUDIO_ALSA 38eb062cfaSMarc-André Lureau "audio-", "alsa", 39eb062cfaSMarc-André Lureau #endif 40eb062cfaSMarc-André Lureau #ifdef CONFIG_AUDIO_OSS 41eb062cfaSMarc-André Lureau "audio-", "oss", 42eb062cfaSMarc-André Lureau #endif 43eb062cfaSMarc-André Lureau #ifdef CONFIG_AUDIO_PA 44eb062cfaSMarc-André Lureau "audio-", "pa", 45eb062cfaSMarc-André Lureau #endif 46eb062cfaSMarc-André Lureau #ifdef CONFIG_AUDIO_SDL 47eb062cfaSMarc-André Lureau "audio-", "sdl", 48eb062cfaSMarc-André Lureau #endif 49eb062cfaSMarc-André Lureau #ifdef CONFIG_CURSES 50eb062cfaSMarc-André Lureau "ui-", "curses", 51eb062cfaSMarc-André Lureau #endif 52eb062cfaSMarc-André Lureau #if defined(CONFIG_GTK) && defined(CONFIG_VTE) 53eb062cfaSMarc-André Lureau "ui-", "gtk", 54eb062cfaSMarc-André Lureau #endif 55eb062cfaSMarc-André Lureau #ifdef CONFIG_SDL 56eb062cfaSMarc-André Lureau "ui-", "sdl", 57eb062cfaSMarc-André Lureau #endif 58f54d432eSMarc-André Lureau #if defined(CONFIG_SPICE) && defined(CONFIG_GIO) 59f54d432eSMarc-André Lureau "ui-", "spice-app", 60f54d432eSMarc-André Lureau #endif 61eb062cfaSMarc-André Lureau }; 62eb062cfaSMarc-André Lureau int i; 63eb062cfaSMarc-André Lureau 64eb062cfaSMarc-André Lureau g_test_init(&argc, &argv, NULL); 65eb062cfaSMarc-André Lureau 66eb062cfaSMarc-André Lureau for (i = 0; i < G_N_ELEMENTS(modules); i += 2) { 67*eca3a945SCole Robinson char *testname = g_strdup_printf("/module/load/%s%s", 68*eca3a945SCole Robinson modules[i], modules[i + 1]); 69eb062cfaSMarc-André Lureau qtest_add_data_func(testname, modules + i, test_modules_load); 70eb062cfaSMarc-André Lureau g_free(testname); 71eb062cfaSMarc-André Lureau } 72eb062cfaSMarc-André Lureau 73eb062cfaSMarc-André Lureau return g_test_run(); 74eb062cfaSMarc-André Lureau } 75