Quoting Brendan Higgins (2020-01-27 23:20:01) > From: David Gow <davidgow@xxxxxxxxxx> > > 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@xxxxxxxxxx> > Signed-off-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx> > --- Two nitpicks below Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxx> > 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? > > /* > * 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. > +} > + > static void kunit_print_tap_header(void) > { > struct kunit_suite * const * const *suites, * const *subsuite;