2 * GRUB -- GRand Unified Bootloader
3 * Copyright (C) 2010 Free Software Foundation, Inc.
5 * GRUB is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * GRUB is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
20 #include <grub/misc.h>
21 #include <grub/extcmd.h>
22 #include <grub/test.h>
25 GRUB_MOD_LICENSE ("GPLv3+");
28 grub_functional_test (grub_extcmd_context_t ctxt
__attribute__ ((unused
)),
29 int argc
__attribute__ ((unused
)),
30 char **args
__attribute__ ((unused
)))
35 FOR_LIST_ELEMENTS (test
, grub_test_list
)
38 ok
= ok
&& !grub_test_run (test
);
42 grub_printf ("ALL TESTS PASSED\n");
44 grub_printf ("TEST FAILURE\n");
49 grub_functional_all_tests (grub_extcmd_context_t ctxt
__attribute__ ((unused
)),
50 int argc
__attribute__ ((unused
)),
51 char **args
__attribute__ ((unused
)))
56 grub_dl_load ("exfctest");
57 grub_dl_load ("videotest_checksum");
58 grub_dl_load ("gfxterm_menu");
59 grub_dl_load ("setjmp_test");
60 grub_dl_load ("cmdline_cat_test");
62 FOR_LIST_ELEMENTS (test
, grub_test_list
)
63 ok
= !grub_test_run (test
) && ok
;
65 grub_printf ("ALL TESTS PASSED\n");
67 grub_printf ("TEST FAILURE\n");
71 static grub_extcmd_t cmd
;
73 GRUB_MOD_INIT (functional_test
)
75 cmd
= grub_register_extcmd ("functional_test", grub_functional_test
, 0, 0,
76 "Run all loaded functional tests.", 0);
77 cmd
= grub_register_extcmd ("all_functional_test", grub_functional_all_tests
, 0, 0,
78 "Run all functional tests.", 0);
81 GRUB_MOD_FINI (functional_test
)
83 grub_unregister_extcmd (cmd
);