On Fri, Nov 15, 2019 at 2:16 AM Alan Maguire alan.maguire@oracle.com 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@oracle.com Signed-off-by: Knut Omang knut.omang@oracle.com
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