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