Re: [PATCH v10 3/5] KASAN: Port KASAN Tests to KUnit

Andrey Konovalov
2020-08-04T10:15:55Z

On Tue, Aug 4, 2020 at 12:59 AM David Gow <davidgow@google.com> wrote:
>
> On Sat, Aug 1, 2020 at 3:10 PM David Gow <davidgow@google.com> wrote:
> >
> > From: Patricia Alfonso <trishalfonso@google.com>
> >
> > 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@google.com>
> > Signed-off-by: David Gow <davidgow@google.com>
> > Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
> > Reviewed-by: Andrey Konovalov <andreyknvl@google.com>
> > Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
> > ---
> > 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.