[for-next][PATCH] ktest: Store failure logs also in fatal paths

From: Steven Rostedt

Date: Wed Apr 01 2026 - 17:20:57 EST



git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest.git
for-next

Head SHA1: 81fca7087466bd81fff7100d824b2c788edf7a97


Ricardo B. Marlière (1):
ktest: Store failure logs also in fatal paths

----
tools/testing/ktest/ktest.pl | 5 +++++
1 file changed, 5 insertions(+)
---------------------------
commit 81fca7087466bd81fff7100d824b2c788edf7a97
Author: Ricardo B. Marlière <rbm@xxxxxxxx>
Date: Wed Mar 18 16:00:43 2026 -0300

ktest: Store failure logs also in fatal paths

STORE_FAILURES was only saved from fail(), so paths that reached dodie()
could exit without preserving failure logs.

That includes fatal hook paths such as:

POST_BUILD_DIE = 1

and ordinary failures when:

DIE_ON_FAILURE = 1

Call save_logs("fail", ...) from dodie() too so fatal failures keep the
same STORE_FAILURES artifacts as non-fatal fail() paths.

Cc: John Hawley <warthog9@xxxxxxxxxxxxxx>
Link: https://patch.msgid.link/20260318-ktest-fixes-v1-1-9dd94d46d84c@xxxxxxxx
Signed-off-by: Ricardo B. Marlière <rbm@xxxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index de99b82d16ad..112f9ca2444b 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -1635,6 +1635,11 @@ sub dodie {
print " See $opt{LOG_FILE} for more info.\n";
}

+ # Fatal paths bypass fail(), so STORE_FAILURES needs to be handled here.
+ if (defined($store_failures)) {
+ save_logs("fail", $store_failures);
+ }
+
if ($email_on_error) {
my $name = get_test_name;
my $log_file;