On Tue, Jan 28, 2020 at 10:33 PM Stephen Boyd sboyd@kernel.org wrote:
Quoting Brendan Higgins (2020-01-27 23:20:01)
From: David Gow davidgow@google.com
Add a new kernel command-line option, 'kunit_shutdown', which allows the user to specify that the kernel poweroff, halt, or reboot after completing all KUnit tests; this is very handy for running KUnit tests on UML or a VM so that the UML/VM process exits cleanly immediately after running all tests without needing a special initramfs.
Signed-off-by: David Gow davidgow@google.com Signed-off-by: Brendan Higgins brendanhiggins@google.com
Two nitpicks below
Reviewed-by: Stephen Boyd sboyd@kernel.org
diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c index 7fd16feff157e..d3ec1265a72fd 100644 --- a/lib/kunit/executor.c +++ b/lib/kunit/executor.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0
#include <kunit/test.h> +#include <linux/reboot.h>
Should this include come before kunit/test.h? I imagine the order of includes would be linux, kunit, local?
I think some reviewers/maintainers want them all to be alphabetical. So I have probably done it both ways in the past. Will fix.
/*
- These symbols point to the .kunit_test_suites section and are defined in
@@ -11,6 +12,23 @@ extern struct kunit_suite * const * const __kunit_suites_end[];
#if IS_BUILTIN(CONFIG_KUNIT)
+static char *kunit_shutdown; +core_param(kunit_shutdown, kunit_shutdown, charp, 0644);
+static void kunit_handle_shutdown(void) +{
if (!kunit_shutdown)
return;
if (!strcmp(kunit_shutdown, "poweroff")) {
kernel_power_off();
} else if (!strcmp(kunit_shutdown, "halt")) {
kernel_halt();
} else if (!strcmp(kunit_shutdown, "reboot")) {
kernel_restart(NULL);
}
Kernel style would be to not have braces on single line if statements.
Whoops. Sometimes I forget :-)
+}
static void kunit_print_tap_header(void) { struct kunit_suite * const * const *suites, * const *subsuite;
Thanks!