xref: /linux-6.15/lib/kunit/executor.c (revision 8c0d8849)
1aac35468SAlan Maguire // SPDX-License-Identifier: GPL-2.0
2aac35468SAlan Maguire 
3aac35468SAlan Maguire #include <kunit/test.h>
4aac35468SAlan Maguire 
5aac35468SAlan Maguire /*
6aac35468SAlan Maguire  * These symbols point to the .kunit_test_suites section and are defined in
7aac35468SAlan Maguire  * include/asm-generic/vmlinux.lds.h, and consequently must be extern.
8aac35468SAlan Maguire  */
9aac35468SAlan Maguire extern struct kunit_suite * const * const __kunit_suites_start[];
10aac35468SAlan Maguire extern struct kunit_suite * const * const __kunit_suites_end[];
11aac35468SAlan Maguire 
12aac35468SAlan Maguire #if IS_BUILTIN(CONFIG_KUNIT)
13aac35468SAlan Maguire 
14*8c0d8849SBrendan Higgins int kunit_run_all_tests(void)
15aac35468SAlan Maguire {
16aac35468SAlan Maguire 	struct kunit_suite * const * const *suites;
17aac35468SAlan Maguire 
18aac35468SAlan Maguire 	for (suites = __kunit_suites_start;
19aac35468SAlan Maguire 	     suites < __kunit_suites_end;
20aac35468SAlan Maguire 	     suites++)
21aac35468SAlan Maguire 			__kunit_test_suites_init(*suites);
22aac35468SAlan Maguire 
23aac35468SAlan Maguire 	return 0;
24aac35468SAlan Maguire }
25aac35468SAlan Maguire 
26aac35468SAlan Maguire #endif /* IS_BUILTIN(CONFIG_KUNIT) */
27