xref: /qemu/tests/qtest/modules-test.c (revision fd66dbd424f5c90fcff3d27afed2c6c59d8be3ac)
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