2022-01-19 11:26:38 -07:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
|
|
|
|
#include <kunit/test.h>
|
|
|
|
#include <linux/module.h>
|
|
|
|
|
|
|
|
#include "test_modules.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test that modules with many relocations are loaded properly.
|
|
|
|
*/
|
|
|
|
static void test_modules_many_vmlinux_relocs(struct kunit *test)
|
|
|
|
{
|
|
|
|
int result = 0;
|
|
|
|
|
|
|
|
#define CALL_RETURN(i) result += test_modules_return_ ## i()
|
|
|
|
REPEAT_10000(CALL_RETURN);
|
|
|
|
KUNIT_ASSERT_EQ(test, result, 49995000);
|
|
|
|
}
|
|
|
|
|
|
|
|
static struct kunit_case modules_testcases[] = {
|
|
|
|
KUNIT_CASE(test_modules_many_vmlinux_relocs),
|
|
|
|
{}
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct kunit_suite modules_test_suite = {
|
|
|
|
.name = "modules_test_s390",
|
|
|
|
.test_cases = modules_testcases,
|
|
|
|
};
|
|
|
|
|
|
|
|
kunit_test_suites(&modules_test_suite);
|
|
|
|
|
2024-06-15 17:47:26 -07:00
|
|
|
MODULE_DESCRIPTION("KUnit test that modules with many relocations are loaded properly");
|
2022-01-19 11:26:38 -07:00
|
|
|
MODULE_LICENSE("GPL");
|