Commit d9d4de23 authored by Timur Tabi's avatar Timur Tabi Committed by Petr Mladek
Browse files

kselftest: add support for skipped tests



Update the kselftest framework to allow client drivers to
specify that some tests were skipped.

Signed-off-by: default avatarTimur Tabi <timur@kernel.org>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Tested-by: default avatarPetr Mladek <pmladek@suse.com>
Acked-by: default avatarMarco Elver <elver@google.com>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20210214161348.369023-3-timur@kernel.org
parent 4e89a787
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -11,7 +11,8 @@

#define KSTM_MODULE_GLOBALS()			\
static unsigned int total_tests __initdata;	\
static unsigned int failed_tests __initdata
static unsigned int failed_tests __initdata;	\
static unsigned int skipped_tests __initdata

#define KSTM_CHECK_ZERO(x) do {						\
	total_tests++;							\
@@ -21,11 +22,16 @@ static unsigned int failed_tests __initdata
	}								\
} while (0)

static inline int kstm_report(unsigned int total_tests, unsigned int failed_tests)
static inline int kstm_report(unsigned int total_tests, unsigned int failed_tests,
			      unsigned int skipped_tests)
{
	if (failed_tests == 0)
	if (failed_tests == 0) {
		if (skipped_tests) {
			pr_info("skipped %u tests\n", skipped_tests);
			pr_info("remaining %u tests passed\n", total_tests);
		} else
			pr_info("all %u tests passed\n", total_tests);
	else
	} else
		pr_warn("failed %u out of %u tests\n", failed_tests, total_tests);

	return failed_tests ? -EINVAL : 0;
@@ -36,7 +42,7 @@ static int __init __module##_init(void) \
{							\
	pr_info("loaded.\n");				\
	selftest();					\
	return kstm_report(total_tests, failed_tests);	\
	return kstm_report(total_tests, failed_tests, skipped_tests);	\
}							\
static void __exit __module##_exit(void)		\
{							\