Commit 80804284 authored by Marco Elver's avatar Marco Elver Committed by Paul E. McKenney

kcsan: test: Use kunit_skip() to skip tests

Use the new kunit_skip() to skip tests if requirements were not met.
Signed-off-by: default avatarMarco Elver <elver@google.com>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent e8070427
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
#include <linux/types.h> #include <linux/types.h>
#include <trace/events/printk.h> #include <trace/events/printk.h>
#define KCSAN_TEST_REQUIRES(test, cond) do { \
if (!(cond)) \
kunit_skip((test), "Test requires: " #cond); \
} while (0)
#ifdef CONFIG_CC_HAS_TSAN_COMPOUND_READ_BEFORE_WRITE #ifdef CONFIG_CC_HAS_TSAN_COMPOUND_READ_BEFORE_WRITE
#define __KCSAN_ACCESS_RW(alt) (KCSAN_ACCESS_COMPOUND | KCSAN_ACCESS_WRITE) #define __KCSAN_ACCESS_RW(alt) (KCSAN_ACCESS_COMPOUND | KCSAN_ACCESS_WRITE)
#else #else
...@@ -642,8 +647,7 @@ static void test_read_plain_atomic_write(struct kunit *test) ...@@ -642,8 +647,7 @@ static void test_read_plain_atomic_write(struct kunit *test)
}; };
bool match_expect = false; bool match_expect = false;
if (IS_ENABLED(CONFIG_KCSAN_IGNORE_ATOMICS)) KCSAN_TEST_REQUIRES(test, !IS_ENABLED(CONFIG_KCSAN_IGNORE_ATOMICS));
return;
begin_test_checks(test_kernel_read, test_kernel_write_atomic); begin_test_checks(test_kernel_read, test_kernel_write_atomic);
do { do {
...@@ -665,8 +669,7 @@ static void test_read_plain_atomic_rmw(struct kunit *test) ...@@ -665,8 +669,7 @@ static void test_read_plain_atomic_rmw(struct kunit *test)
}; };
bool match_expect = false; bool match_expect = false;
if (IS_ENABLED(CONFIG_KCSAN_IGNORE_ATOMICS)) KCSAN_TEST_REQUIRES(test, !IS_ENABLED(CONFIG_KCSAN_IGNORE_ATOMICS));
return;
begin_test_checks(test_kernel_read, test_kernel_atomic_rmw); begin_test_checks(test_kernel_read, test_kernel_atomic_rmw);
do { do {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment