s390/module: test loading modules with a lot of relocations
Add a test in order to prevent regressions. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
committed by
Heiko Carstens
parent
f3b7e73b2c
commit
90c5318795
35
arch/s390/lib/test_modules.c
Normal file
35
arch/s390/lib/test_modules.c
Normal file
@@ -0,0 +1,35 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include <kunit/test.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include "test_modules.h"
|
||||
|
||||
#define DECLARE_RETURN(i) int test_modules_return_ ## i(void)
|
||||
REPEAT_10000(DECLARE_RETURN);
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
Reference in New Issue
Block a user