On Tue, Dec 3, 2019 at 4:08 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). > > Co-developed-by: Knut Omang <knut.omang@xxxxxxxxxx> > Signed-off-by: Knut Omang <knut.omang@xxxxxxxxxx> > Signed-off-by: Alan Maguire <alan.maguire@xxxxxxxxxx> Reviewed-by: Brendan Higgins <brendanhiggins@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 => kunit-example-test.c} | 4 ++- > lib/kunit/{test-test.c => kunit-test.c} | 5 ++-- > lib/kunit/string-stream-test.c | 2 +- > lib/kunit/test.c | 8 +++++ > lib/kunit/try-catch.c | 2 ++ > lib/list-test.c | 4 ++- > 15 files changed, 76 insertions(+), 25 deletions(-) > rename lib/kunit/{example-test.c => kunit-example-test.c} (97%) > rename lib/kunit/{test-test.c => kunit-test.c} (98%) Ted, David, and Iurii, can you each review/ack for the bits that each of you own? Thanks for all your hard work on this Alan!