Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b1a4d5b authored by Tobin C. Harding's avatar Tobin C. Harding Committed by Shuah Khan
Browse files

lib: Use new kselftest header



We just added a new C header file for use with test modules that are
intended to be run with kselftest.  We can reduce code duplication by
using this header.

Use new kselftest header to reduce code duplication in test_printf and
test_bitmap test modules.

Acked-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarTobin C. Harding <tobin@kernel.org>
Signed-off-by: default avatarShuah Khan <shuah@kernel.org>
parent eebf4dd4
Loading
Loading
Loading
Loading
+4 −16
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@
#include <linux/slab.h>
#include <linux/string.h>

#include "../tools/testing/selftests/kselftest_module.h"

static unsigned total_tests __initdata;
static unsigned failed_tests __initdata;

@@ -361,7 +363,7 @@ static void noinline __init test_mem_optimisations(void)
	}
}

static int __init test_bitmap_init(void)
static void __init selftest(void)
{
	test_zero_clear();
	test_fill_set();
@@ -369,22 +371,8 @@ static int __init test_bitmap_init(void)
	test_bitmap_arr32();
	test_bitmap_parselist();
	test_mem_optimisations();

	if (failed_tests == 0)
		pr_info("all %u tests passed\n", total_tests);
	else
		pr_warn("failed %u out of %u tests\n",
			failed_tests, total_tests);

	return failed_tests ? -EINVAL : 0;
}

static void __exit test_bitmap_cleanup(void)
{
}

module_init(test_bitmap_init);
module_exit(test_bitmap_cleanup);

KSTM_MODULE_LOADERS(test_bitmap);
MODULE_AUTHOR("david decotigny <david.decotigny@googlers.com>");
MODULE_LICENSE("GPL");
+5 −18
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@
#include <linux/gfp.h>
#include <linux/mm.h>

#include "../tools/testing/selftests/kselftest_module.h"

#define BUF_SIZE 256
#define PAD_SIZE 16
#define FILL_CHAR '$'
@@ -590,12 +592,11 @@ test_pointer(void)
	flags();
}

static int __init
test_printf_init(void)
static void __init selftest(void)
{
	alloced_buffer = kmalloc(BUF_SIZE + 2*PAD_SIZE, GFP_KERNEL);
	if (!alloced_buffer)
		return -ENOMEM;
		return;
	test_buffer = alloced_buffer + PAD_SIZE;

	test_basic();
@@ -604,22 +605,8 @@ test_printf_init(void)
	test_pointer();

	kfree(alloced_buffer);

	if (failed_tests == 0)
		pr_info("all %u tests passed\n", total_tests);
	else
		pr_warn("failed %u out of %u tests\n", failed_tests, total_tests);

	return failed_tests ? -EINVAL : 0;
}

module_init(test_printf_init);

static void __exit test_printf_exit(void)
{
}

module_exit(test_printf_exit);

KSTM_MODULE_LOADERS(test_printf);
MODULE_AUTHOR("Rasmus Villemoes <linux@rasmusvillemoes.dk>");
MODULE_LICENSE("GPL");