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