From nobody Thu Apr 9 16:13:54 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE29237F8BF for ; Sat, 7 Mar 2026 22:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921314; cv=none; b=BjbmyBOTljJRn2ps7N9JKFlxTL13lJ80fn5zEcyMQHB/qvV0so/MaKzTiFXu4Z935KE2Ltsc5ZbtR/WfLqpcX4W+2SItz4StlRyj7l+xHkWcpPTuiztZetT0GKdeQfXtvejkC3UDFy8ZZPLvAYBUKgvG/+7RlNpO2QDq1sAv8e8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921314; c=relaxed/simple; bh=RkUwt4eWFIw7LKBkpTqcE7fAhTggj/OrYAPmIVv/oik=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ib8XJ5LZE+VKxRMLmA2D2mDAe+NuXRoENuuUkN1aT7vG9SFNRTrDQXttnBis7LYiPHOTRaUB/jLUg1INbMTQQ1501DCY7Jiq2aSsjhuEO80/lWxM2DDyTzULQRfselbP8SnYn29q7xh8dwZL2tkL5E9Obt8UCBRh3cqYmzWpuhQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=OqhHp1zq; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="OqhHp1zq" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-482f454be5bso106060575e9.0 for ; Sat, 07 Mar 2026 14:08:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921311; x=1773526111; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Zb66GdAXvmtNCP8wr+2MuqsfoD+c9PNiIebHBkornCQ=; b=OqhHp1zqA9oim/r3fb4mWvg1xHpNw2izyoZnPwA4GLgOc741RpyAQvRsEhakGrKrOp qGNXXYteukBPCNk6c+Mzpkk8aAR6CGJBIMScCuHJP6QmozYIrp8APq0BKQPMuZ+e4M6l BpeJZp9k0ZCrV+fRe+cHVfSAt5htXnJtM0G4zfIh7zJjOpAssYwFSRvDcckhZy8QPpsc 4qVySPUpitUIIbz07x1uDDqTg+4rCslvrMkxu9Y6DMccVacuBKIOasYB4Wm457U4muhZ XmSM3CJFn1Iu/nKdoYk6u8/lRQp/RvYPCz/zRC0rXnUqnsKnc3MJibgZjeQXGMsgmU9e R0Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921311; x=1773526111; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Zb66GdAXvmtNCP8wr+2MuqsfoD+c9PNiIebHBkornCQ=; b=X6A9sfK/+vOF2jUl2e0wiTuzK2JzI+zs4hhjg2RxJJXGtNg3xqFAKGkvVuvmQ3k21Q AbVka/NyzZWrUSJUgqeYfjt/3TZvTqxfP4Ve7loTO7Rf1Pm241WsQhELPPPDUm/1Thij xGnmGWsOe5Q++LCCDfFI6tux3Dy4SKq3MSgKVibfOnirah9JaCvJExrcYpM15bOV/1Ib QNvdZBZKETlV+LxHj+6Vxy0ADxG54UvLk4pLAWI5mF0YVYgD70inuJNfvtYtJ29DY9nR 4Kzvf82FRwB+4USIBD1HzHE50icwcMeu8lK5HMVq0M94yGXmQmtC/O7ClWemFbS7AJnc alfA== X-Forwarded-Encrypted: i=1; AJvYcCXUbAr3kVeXK6dbgyjYlIjxVY9U+RWg/tWohp8dJgSC9ESRWPNbxjI0B3UFW9AN/rJcG9tRH41PPR7WJWE=@vger.kernel.org X-Gm-Message-State: AOJu0YwbIeDSBcWWaiZ10suhhf0er1f1bViVyFOM5oAbY432HpdCt/6+ ztHeyJYRCwXKTowzG45XgxK0huSLpivdXxqUXM3pxZ472mpzw6FT6vltChNy+7LlVlU= X-Gm-Gg: ATEYQzw8oelkmxuRgxDLZMYHbJV4kR76FBah4vqB5v8B2R83ppKp1SAVmzxbyWLjQII Q59EfwRJUitn4a0+mnckbuT2BKxNVQ/OeaZ7q2Fe4t/Sw5SCozb6NiSRdRJQCU0Drm4s4OquPT3 NiIzOCYNOHoKt12S5XIe6up4ZnRJbYf9I3YqY5T+nlhJQ3Ihyc8Ct+biVVgZFsL+FkqJKtfGo4s /+tKagfWZYZgqngfiWF5VMoqKAfGh8H56f0GbSD3QFL6WRzSWZ4ivVwGG5GE7q99IH6y9j8Cw/Y UMJLMp7vkMIaWIOw4wPNn5j9WHYbeaFU22uKzSYLL9a+kkZxy4vc1QCbTehTFb7yyWRFxjiLY6U UctXAzH11wQrNd2Izy1BDiKp2KrPcy0bsUsR0G9mnf8lG1TInAye2Beyns3XmitX2p7Jb4HIOEB bQUFERcb2Afg== X-Received: by 2002:a05:600c:c10e:b0:483:a2b0:d210 with SMTP id 5b1f17b1804b1-4851ee7a50cmr163451935e9.7.1772921311183; Sat, 07 Mar 2026 14:08:31 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-94e7b12e0a6sm5597031241.0.2026.03.07.14.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:30 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:08:03 -0300 Subject: [PATCH 8/9] ktest: Run POST_KTEST hooks on failure and cancellation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260307-ktest-fixes-v1-8-565d412f4925@suse.com> References: <20260307-ktest-fixes-v1-0-565d412f4925@suse.com> In-Reply-To: <20260307-ktest-fixes-v1-0-565d412f4925@suse.com> To: Steven Rostedt , John Hawley Cc: Andrea Righi , Marcos Paulo de Souza , Matthieu Baerts , Fernando Fernandez Mancera , Pedro Falcato , linux-kernel@vger.kernel.org, Steven Rostedt , =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openssh-sha256; t=1772921280; l=2289; i=rbm@suse.com; h=from:subject:message-id; bh=RkUwt4eWFIw7LKBkpTqcE7fAhTggj/OrYAPmIVv/oik=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QKWFQdVf7kUwXrR/edCrc90cx6vbsWBurvISDM+WxALYjTtAT7rI+ljy8WaVXkbE4GXvLmgv67k LZ+rmsxG2vQc= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g PRE_KTEST can be useful for setting up the environment and POST_KTEST to tear it down, however POST_KTEST only runs on the normal end-of-run path. It is skipped when ktest exits through dodie() or cancel_test(). final cleanup hooks are skipped. Factor the final hook execution into run_post_ktest(), call it from the normal exit path and from the early exit paths, and guard it so the hook runs at most once. Fixes: 921ed4c7208e ("ktest: Add PRE/POST_KTEST and TEST options") Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index b018b937e028..8962857ce4a6 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -100,6 +100,7 @@ my $test_type; my $build_type; my $build_options; my $final_post_ktest; +my $post_ktest_done =3D 0; my $pre_ktest; my $pre_ktest_die; my $post_ktest; @@ -1586,6 +1587,24 @@ sub get_test_name() { return $name; } =20 +sub run_post_ktest { + my $cmd; + + return if ($post_ktest_done); + + if (defined($final_post_ktest)) { + $cmd =3D $final_post_ktest; + } elsif (defined($post_ktest)) { + $cmd =3D $post_ktest; + } else { + return; + } + + my $cp_post_ktest =3D eval_kernel_version($cmd); + run_command $cp_post_ktest; + $post_ktest_done =3D 1; +} + sub dodie { # avoid recursion return if ($in_die); @@ -1645,6 +1664,7 @@ sub dodie { if (defined($post_test)) { run_command $post_test; } + run_post_ktest; =20 die @_, "\n"; } @@ -4314,6 +4334,7 @@ sub cancel_test { send_email("KTEST: Your [$name] test was cancelled", "Your test started at $script_start_time was cancelled: sig int"); } + run_post_ktest; die "\nCaught Sig Int, test interrupted: $!\n" } =20 @@ -4679,11 +4700,7 @@ for (my $i =3D 1; $i <=3D $opt{"NUM_TESTS"}; $i++) { success $i; } =20 -if (defined($final_post_ktest)) { - - my $cp_final_post_ktest =3D eval_kernel_version $final_post_ktest; - run_command $cp_final_post_ktest; -} +run_post_ktest; =20 if ($opt{"POWEROFF_ON_SUCCESS"}) { halt; --=20 2.53.0