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