-
由 Jeremy Kerr 提交于
Currently, KUnit runs built-in tests and tests loaded from modules differently. For built-in tests, the kunit_test_suite{,s}() macro adds a list of suites in the .kunit_test_suites linker section. However, for kernel modules, a module_init() function is used to run the test suites. This causes problems if tests are included in a module which already defines module_init/exit_module functions, as they'll conflict with the kunit-provided ones. This change removes the kunit-defined module inits, and instead parses the kunit tests from their own section in the module. After module init, we call __kunit_test_suites_init() on the contents of that section, which prepares and runs the suite. This essentially unifies the module- and non-module kunit init formats. Tested-by: NMaíra Canal <maira.canal@usp.br> Reviewed-by: NBrendan Higgins <brendanhiggins@google.com> Signed-off-by: NJeremy Kerr <jk@codeconstruct.com.au> Signed-off-by: NDaniel Latypov <dlatypov@google.com> Signed-off-by: NDavid Gow <davidgow@google.com> Signed-off-by: NShuah Khan <skhan@linuxfoundation.org>3d6e4462