From: Steven Rostedt <rostedt@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: "John Warthog9 Hawley" <warthog9@kernel.org>,
"Ricardo B. Marlière" <rbm@suse.com>,
"John Hawley" <warthog9@eaglescrag.net>,
"Andrea Righi" <arighi@nvidia.com>,
"Marcos Paulo de Souza" <mpdesouza@suse.com>,
"Matthieu Baerts" <matttbe@kernel.org>,
"Fernando Fernandez Mancera" <fmancera@suse.de>,
"Pedro Falcato" <pfalcato@suse.de>
Subject: [for-next][PATCH 7/9] ktest: Add PRE_KTEST_DIE for PRE_KTEST failures
Date: Mon, 16 Mar 2026 14:40:40 -0400 [thread overview]
Message-ID: <20260316184116.695990593@kernel.org> (raw)
In-Reply-To: 20260316184033.927944169@kernel.org
From: =?UTF-8?q?Ricardo=20B=2E=20Marli=C3=A8re?= <rbm@suse.com>
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: Ricardo B. Marlière <rbm@suse.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
tools/testing/ktest/ktest.pl | 8 +++++++-
tools/testing/ktest/sample.conf | 6 ++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index bd2e2311884c..b018b937e028 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -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;
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
index 9c4c449a8f3e..b6e439ef511b 100644
--- a/tools/testing/ktest/sample.conf
+++ b/tools/testing/ktest/sample.conf
@@ -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
--
2.51.0
next prev parent reply other threads:[~2026-03-16 18:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-16 18:40 [for-next][PATCH 0/9] ktest: Updates to ktest for 7.1 Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 1/9] ktest: Avoid undef warning when WARNINGS_FILE is unset Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 2/9] ktest: Resolve LOG_FILE in test option context Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 3/9] ktest: Treat undefined self-reference as empty Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 4/9] ktest: Honor empty per-test option overrides Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 5/9] ktest: Run commands through list-form shell open Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 6/9] ktest: Stop dropping console output during power-cycle reboot Steven Rostedt
2026-03-16 18:40 ` Steven Rostedt [this message]
2026-03-16 18:40 ` [for-next][PATCH 8/9] ktest: Run POST_KTEST hooks on failure and cancellation Steven Rostedt
2026-03-16 18:40 ` [for-next][PATCH 9/9] ktest: Add a --dry-run mode Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260316184116.695990593@kernel.org \
--to=rostedt@kernel.org \
--cc=arighi@nvidia.com \
--cc=fmancera@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=matttbe@kernel.org \
--cc=mpdesouza@suse.com \
--cc=pfalcato@suse.de \
--cc=rbm@suse.com \
--cc=warthog9@eaglescrag.net \
--cc=warthog9@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.