summaryrefslogtreecommitdiff
path: root/include/kunit
diff options
context:
space:
mode:
authorPatricia Alfonso <[email protected]>2020-10-13 16:55:02 -0700
committerLinus Torvalds <[email protected]>2020-10-13 18:38:32 -0700
commit83c4e7a0363bdb8104f510370907161623e31086 (patch)
treed171f5fdca8045d45e83d91a9b9d03c7ae52daab /include/kunit
parent393824f650fabf6ea32bb09bea7acbc3a062dac8 (diff)
KUnit: KASAN Integration
Integrate KASAN into KUnit testing framework. - Fail tests when KASAN reports an error that is not expected - Use KUNIT_EXPECT_KASAN_FAIL to expect a KASAN error in KASAN tests - Expected KASAN reports pass tests and are still printed when run without kunit_tool (kunit_tool still bypasses the report due to the test passing) - KUnit struct in current task used to keep track of the current test from KASAN code Make use of "[PATCH v3 kunit-next 1/2] kunit: generalize kunit_resource API beyond allocated resources" and "[PATCH v3 kunit-next 2/2] kunit: add support for named resources" from Alan Maguire [1] - A named resource is added to a test when a KASAN report is expected - This resource contains a struct for kasan_data containing booleans representing if a KASAN report is expected and if a KASAN report is found [1] (https://lore.kernel.org/linux-kselftest/[email protected]/T/#t) Signed-off-by: Patricia Alfonso <[email protected]> Signed-off-by: David Gow <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Tested-by: Andrey Konovalov <[email protected]> Reviewed-by: Andrey Konovalov <[email protected]> Reviewed-by: Dmitry Vyukov <[email protected]> Acked-by: Brendan Higgins <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Shuah Khan <[email protected]> Cc: Vincent Guittot <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/kunit')
-rw-r--r--include/kunit/test.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/kunit/test.h b/include/kunit/test.h
index 59f3144f009a..3391f38389f8 100644
--- a/include/kunit/test.h
+++ b/include/kunit/test.h
@@ -224,6 +224,11 @@ struct kunit {
struct list_head resources; /* Protected by lock. */
};
+static inline void kunit_set_failure(struct kunit *test)
+{
+ WRITE_ONCE(test->success, false);
+}
+
void kunit_init_test(struct kunit *test, const char *name, char *log);
int kunit_run_tests(struct kunit_suite *suite);