162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#include <kunit/test.h> 462306a36Sopenharmony_ci#include <linux/module.h> 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "test_modules.h" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* 962306a36Sopenharmony_ci * Test that modules with many relocations are loaded properly. 1062306a36Sopenharmony_ci */ 1162306a36Sopenharmony_cistatic void test_modules_many_vmlinux_relocs(struct kunit *test) 1262306a36Sopenharmony_ci{ 1362306a36Sopenharmony_ci int result = 0; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define CALL_RETURN(i) result += test_modules_return_ ## i() 1662306a36Sopenharmony_ci REPEAT_10000(CALL_RETURN); 1762306a36Sopenharmony_ci KUNIT_ASSERT_EQ(test, result, 49995000); 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistatic struct kunit_case modules_testcases[] = { 2162306a36Sopenharmony_ci KUNIT_CASE(test_modules_many_vmlinux_relocs), 2262306a36Sopenharmony_ci {} 2362306a36Sopenharmony_ci}; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_cistatic struct kunit_suite modules_test_suite = { 2662306a36Sopenharmony_ci .name = "modules_test_s390", 2762306a36Sopenharmony_ci .test_cases = modules_testcases, 2862306a36Sopenharmony_ci}; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_cikunit_test_suites(&modules_test_suite); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciMODULE_LICENSE("GPL"); 33