On Tue, 19 Nov 2019, Stephen Boyd wrote:
Quoting Alan Maguire (2019-11-15 02:16:11)
diff --git a/lib/kunit/test.c b/lib/kunit/test.c index 87b5cf1..41ef71a 100644 --- a/lib/kunit/test.c +++ b/lib/kunit/test.c @@ -486,3 +486,16 @@ void kunit_cleanup(struct kunit *test) } } EXPORT_SYMBOL_GPL(kunit_cleanup);
+static int kunit_init(void)
Missing __init?
Oops, will fix.
+{
return 0;
+} +late_initcall(kunit_init);
It looks pretty weird that this doesn't do anything in the module init or exit path. How does it work? And why does it need to be late init if nothing is called from here?
I used a late_initcall() here because if there is initialization code in the future (say setting up debugfs, sysctl tables etc), it will get run irrespective of whether kunit is built as a module or not. For the module case, we need init/exit to ensure the module can be unloaded successfully.
+static void __exit kunit_exit(void) +{ +} +module_exit(kunit_exit);
+MODULE_LICENSE("GPL");
I guess should be "GPL v2"?
Good catch, will fix here and elsewhere, thanks!
BTW in replying to your review of patch 1 I made a mistake; we do in fact need to add the "#include <linux/kernel.h>" in assert.h as we are removing the "#include <kunit/string-stream.h>". The latter indirectly includes linux/kernel.h which allows us to find definition for "struct va_format" used in the struct kunit_assert definition. Apologies about this.
I'll have a go at generating v5 using -C as requested. Thanks again for the careful review!
Alan