Commit 972816d2 authored by Ricardo B. Marlière's avatar Ricardo B. Marlière Committed by Steven Rostedt
Browse files

ktest: Add PRE_KTEST_DIE for PRE_KTEST failures

PRE_KTEST runs before the first test, but its return status is currently
ignored. A failing setup hook can leave the rest of the run executing in a
partially initialized environment.

Add PRE_KTEST_DIE so PRE_KTEST can fail the run in the same way
PRE_BUILD_DIE and PRE_TEST_DIE already can. Keep the default behavior
unchanged when the new option is not set.

Cc: John Hawley <warthog9@eaglescrag.net>
Cc: Andrea Righi <arighi@nvidia.com>
Cc: Marcos Paulo de Souza <mpdesouza@suse.com>
Cc: Matthieu Baerts <matttbe@kernel.org>
Cc: Fernando Fernandez Mancera <fmancera@suse.de>
Cc: Pedro Falcato <pfalcato@suse.de>
Link: https://patch.msgid.link/20260307-ktest-fixes-v1-7-565d412f4925@suse.com


Signed-off-by: default avatarRicardo B. Marlière <rbm@suse.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent eae247f6
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ my $build_type;
my $build_options;
my $final_post_ktest;
my $pre_ktest;
my $pre_ktest_die;
my $post_ktest;
my $pre_test;
my $pre_test_die;
@@ -283,6 +284,7 @@ my %option_map = (
    "BUILD_DIR"			=> \$builddir,
    "TEST_TYPE"			=> \$test_type,
    "PRE_KTEST"			=> \$pre_ktest,
    "PRE_KTEST_DIE"		=> \$pre_ktest_die,
    "POST_KTEST"		=> \$post_ktest,
    "PRE_TEST"			=> \$pre_test,
    "PRE_TEST_DIE"		=> \$pre_test_die,
@@ -4506,7 +4508,11 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
    if ($i == 1) {
	if (defined($pre_ktest)) {
	    doprint "\n";
	    run_command $pre_ktest;
	    my $ret = run_command $pre_ktest;
	    if (!$ret && defined($pre_ktest_die) &&
		$pre_ktest_die) {
		dodie "failed to pre_ktest\n";
	    }
	}
	if ($email_when_started) {
	    my $name = get_test_name;
+6 −0
Original line number Diff line number Diff line
@@ -494,6 +494,12 @@
#
# default (undefined)
#PRE_KTEST = ${SSH} ~/set_up_test
#
# To specify if the test should fail if PRE_KTEST fails,
# PRE_KTEST_DIE needs to be set to 1. Otherwise the PRE_KTEST
# result is ignored.
# (default 0)
#PRE_KTEST_DIE = 1

# If you want to execute some command after all the tests have
# completed, you can set this option. Note, it can be set as a