On Tue, Aug 4, 2020 at 6:15 PM Andrey Konovalov <andreyknvl@xxxxxxxxxx> wrote: > > On Tue, Aug 4, 2020 at 12:59 AM David Gow <davidgow@xxxxxxxxxx> wrote: > > > > On Sat, Aug 1, 2020 at 3:10 PM David Gow <davidgow@xxxxxxxxxx> wrote: > > > > > > From: Patricia Alfonso <trishalfonso@xxxxxxxxxx> > > > > > > Transfer all previous tests for KASAN to KUnit so they can be run > > > more easily. Using kunit_tool, developers can run these tests with their > > > other KUnit tests and see "pass" or "fail" with the appropriate KASAN > > > report instead of needing to parse each KASAN report to test KASAN > > > functionalities. All KASAN reports are still printed to dmesg. > > > > > > Stack tests do not work properly when KASAN_STACK is enabled so > > > those tests use a check for "if IS_ENABLED(CONFIG_KASAN_STACK)" so they > > > only run if stack instrumentation is enabled. If KASAN_STACK is not > > > enabled, KUnit will print a statement to let the user know this test > > > was not run with KASAN_STACK enabled. > > > > > > copy_user_test and kasan_rcu_uaf cannot be run in KUnit so there is a > > > separate test file for those tests, which can be run as before as a > > > module. > > > > > > Signed-off-by: Patricia Alfonso <trishalfonso@xxxxxxxxxx> > > > Signed-off-by: David Gow <davidgow@xxxxxxxxxx> > > > Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx> > > > Reviewed-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > > Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > > > --- > > > lib/Kconfig.kasan | 22 +- > > > lib/Makefile | 7 +- > > > lib/kasan_kunit.c | 770 ++++++++++++++++++++++++++++++++ > > > lib/test_kasan.c | 946 ---------------------------------------- > > > lib/test_kasan_module.c | 111 +++++ > > > 5 files changed, 902 insertions(+), 954 deletions(-) > > > create mode 100644 lib/kasan_kunit.c > > > delete mode 100644 lib/test_kasan.c > > > create mode 100644 lib/test_kasan_module.c > > > > Whoops -- this patch had a few nasty whitespace issues make it > > through. I'll send out a new version with those fixed. > > > > I'm pondering splitting it up to do the file rename > > (test_kasan.c->kasan_kunit.c) separately as well, as git's rename > > detection is not particularly happy with it. > > Maybe also name it kunit_kasan.c? Probably in the future we'll have > kunit_kmsan.c, etc. The name here uses _kunit as a suffix as part of a plan to standardise that for all KUnit tests. There's some draft documentation for the proposed naming guidelines here: https://lore.kernel.org/linux-kselftest/20200702071416.1780522-1-davidgow@xxxxxxxxxx/ (The idea here was for kunit tests for modules to nicely sort next to the corresponding modules, which is why _kunit is a suffix, but that doesn't really apply for something built-in like KASAN.) -- David