On Fri, Nov 15, 2019 at 2:16 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: > > As tests are added to kunit, it will become less feasible to execute > all built tests together. By supporting modular tests we provide > a simple way to do selective execution on a running system; specifying > > CONFIG_KUNIT=y > CONFIG_KUNIT_EXAMPLE_TEST=m > > ...means we can simply "insmod example-test.ko" to run the tests. > > To achieve this we need to do the following: > > o export the required symbols in kunit > o string-stream tests utilize non-exported symbols so for now we skip > building them when CONFIG_KUNIT_TEST=m. > o support a new way of declaring test suites. Because a module cannot > do multiple late_initcall()s, we provide a kunit_test_suites() macro > to declare multiple suites within the same module at once. > o some test module names would have been too general ("test-test" > and "example-test" for kunit tests, "inode-test" for ext4 tests); > rename these as appropriate ("kunit-test", "kunit-example-test" > and "ext4-inode-test" respectively). Hmm...should we maybe apply this naming scheme to all the tests then? I think Kees might have suggested this. I am actually not sure whether or not we should and would like to get other people's input. It is a valid point that test-test or example-test are too general of names for modules, but if this is the case, I think that inode-test is probably too general as well. But if we are going that far, maybe we should rename everything *-kunit-test.c. > Signed-off-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> > --- > fs/ext4/Kconfig | 2 +- > fs/ext4/Makefile | 5 + > fs/ext4/inode-test.c | 4 +- > include/kunit/test.h | 35 +++-- > kernel/sysctl-test.c | 4 +- > lib/Kconfig.debug | 4 +- > lib/kunit/Kconfig | 4 +- > lib/kunit/Makefile | 10 +- > lib/kunit/assert.c | 8 + > lib/kunit/example-test.c | 88 ----------- > lib/kunit/kunit-example-test.c | 90 +++++++++++ > lib/kunit/kunit-test.c | 334 +++++++++++++++++++++++++++++++++++++++++ > lib/kunit/string-stream-test.c | 2 +- > lib/kunit/test-test.c | 333 ---------------------------------------- > lib/kunit/test.c | 8 + > lib/kunit/try-catch.c | 2 + > lib/list-test.c | 4 +- > 17 files changed, 494 insertions(+), 443 deletions(-) > delete mode 100644 lib/kunit/example-test.c > create mode 100644 lib/kunit/kunit-example-test.c > create mode 100644 lib/kunit/kunit-test.c > delete mode 100644 lib/kunit/test-test.c