1*90c53187SIlya Leoshkevich // SPDX-License-Identifier: GPL-2.0+ 2*90c53187SIlya Leoshkevich 3*90c53187SIlya Leoshkevich #include <kunit/test.h> 4*90c53187SIlya Leoshkevich #include <linux/module.h> 5*90c53187SIlya Leoshkevich 6*90c53187SIlya Leoshkevich #include "test_modules.h" 7*90c53187SIlya Leoshkevich 8*90c53187SIlya Leoshkevich /* 9*90c53187SIlya Leoshkevich * Test that modules with many relocations are loaded properly. 10*90c53187SIlya Leoshkevich */ test_modules_many_vmlinux_relocs(struct kunit * test)11*90c53187SIlya Leoshkevichstatic void test_modules_many_vmlinux_relocs(struct kunit *test) 12*90c53187SIlya Leoshkevich { 13*90c53187SIlya Leoshkevich int result = 0; 14*90c53187SIlya Leoshkevich 15*90c53187SIlya Leoshkevich #define CALL_RETURN(i) result += test_modules_return_ ## i() 16*90c53187SIlya Leoshkevich REPEAT_10000(CALL_RETURN); 17*90c53187SIlya Leoshkevich KUNIT_ASSERT_EQ(test, result, 49995000); 18*90c53187SIlya Leoshkevich } 19*90c53187SIlya Leoshkevich 20*90c53187SIlya Leoshkevich static struct kunit_case modules_testcases[] = { 21*90c53187SIlya Leoshkevich KUNIT_CASE(test_modules_many_vmlinux_relocs), 22*90c53187SIlya Leoshkevich {} 23*90c53187SIlya Leoshkevich }; 24*90c53187SIlya Leoshkevich 25*90c53187SIlya Leoshkevich static struct kunit_suite modules_test_suite = { 26*90c53187SIlya Leoshkevich .name = "modules_test_s390", 27*90c53187SIlya Leoshkevich .test_cases = modules_testcases, 28*90c53187SIlya Leoshkevich }; 29*90c53187SIlya Leoshkevich 30*90c53187SIlya Leoshkevich kunit_test_suites(&modules_test_suite); 31*90c53187SIlya Leoshkevich 32*90c53187SIlya Leoshkevich MODULE_LICENSE("GPL"); 33