From nobody Thu Apr 9 14:03:16 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 2DDE637EFFF for ; Sat, 7 Mar 2026 22:08:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921289; cv=none; b=GmecigTKYUu1rkV4WVSJ2KKvKsW0CIkoPZ8slTcXcz/E9sstrtVfgMMidqH34Y70Z+R+jBcJQPgkCu6UophZNYHgRUyRPRQ3SLG/h5JQzKe4bdqN2CctE0/MABbZTqSjjQLYxX7hwldzSIW7knJQNMvDaspsr7nRacL1LeJusVs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921289; c=relaxed/simple; bh=JJc9wK7lYJwRCdMNjkW1DFLenyZT2CefgXTd0YQAUdE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bCmuDUvdAOLZUTlY6HprpMDzCfhDHlNJ+GSJ3wdPt4CGgJaGZgvztDA7z7d2ZjBhFh+Vvd3CLUV4htmuw7csHL6QyoKUA4SsfxaaJm4CBACUZKJfvR1t5yS756xppriI8udXoBqPohxXpT08t9tlrU57azV2TZcqZtFc4WEgsQo= 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=CqvrgCSt; arc=none smtp.client-ip=209.85.128.52 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="CqvrgCSt" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-483a233819aso102827305e9.3 for ; Sat, 07 Mar 2026 14:08:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921286; x=1773526086; 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=s20l+P5NGe2uD5R96xRkU4KOVWBD61xBYXADOU4p5sc=; b=CqvrgCSts3EpXRceYw1jL9EUqPx9PpHdjopB6S6Sw0FJWuJYP7O2eVnxkwqsj8RuYa rnONebrTgS4gwZ5me34OuLOD+4z9Rcx2gmttqZbZ868MeCo7vyevJCBo1FUZwkt60OlC w1m+3wVGSuafKc1dyeVM5Ppj55Tn5J09JYcl0a/RbSWlKppwuBysjvU9C4B3Bczi+6rE GIr3vj7ICDFxr4LFWKQvm2YlqNiFKFctsFSykkbbOKF34Ekw/u9a6mCR1VnCNcUNZarv AD+4tWmtzvnTRJljTn76m/LYZWsXRxOaxs8Mv79D4M+Va+lfJfAeEhsrdkoW/CAbGm93 qctw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921286; x=1773526086; 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=s20l+P5NGe2uD5R96xRkU4KOVWBD61xBYXADOU4p5sc=; b=D2122l3q2xsObRAOoCcQBctlc/GduDo15UFiM61hchPxJFX5URCB/4UGbwlzSwG8/Y pYqiWDlBiswb/2TDnG/ke+seHKQOjDhxr73KHtBWHfRvZ55HbySoJlr00igryfS/rKW3 Z8/NJmq/iqarr7Me1EID5EkGZwMNGC73ufcG28U9RZP2pyii8MXddde/vFVxf/HDQO/W Uieda6XEjgWa9KIcVL2/cnMhkONhigA6Q0qu0/7aOWm6Nuac6i9kjwWsk94V0tb383tR E/2EuatibetKds3Yy+gPtiH8JyKRN5kQBcJ+JG63cT5BpuV29zFUqbceBTJWIucRYD55 g0iw== X-Forwarded-Encrypted: i=1; AJvYcCVKaBTG2t7cZl9hzyzVvzlA28EX0jJrm3QtCD4VeRWHcJMzkl/5bQt4SPSr/vxsy2IL2xzFG4tCZvcCpMo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2d5a1Iys7+Jdog/v86XUSl0JefxlAzwIgOWItBzPd+hworbQt IAqQhRFLys+oKzK5LiHfBD7QNlcVTDO42oUNzGsW+RS2RCQqs6h3WG2FbsHA8DbBejHqSyYwEgk HSmpp X-Gm-Gg: ATEYQzyXr9iiAisI9TrNhm416zmMLstxv24bORCST9lWChUhR7Lru3Ll2JufQf67DDq uNL+GkVqRBiyKg/fxket38mGOp8AC1l0R2Zua/NJqp3KyNa+fA11qhvDK8muopZCJMNdxNh182f zPrr6ZKk8Yiu01EzRwdIAwhrvLlJbyB4m3Dv915mwwBLb8eUjv4Z3CNjnokryzvk5UPr/wLwjdE nemGKY+kurbLJm4lVON7MDWqqTGatyC1qwSykiAOBavoi06K5gBB7Th/g+DQcRXCf9XsqgLwk1c PDrzuO4RBsb2w7I4g1PvCnbKO8k9faSHka35iUayd2I46qf5ZRBy5h2ZSK/w5mvs+w+9dVXgfCp /DSEVhvoQ/gtjR8BFf2cdaDTqfjcqtgG3Y1E6SfRQmZ+WWWIk6uAao48PlQGNwbxmJOsaSicUQy PZdvgR11KOig== X-Received: by 2002:a05:600c:1e2a:b0:477:b642:9dc1 with SMTP id 5b1f17b1804b1-4852695819cmr106914205e9.20.1772921286434; Sat, 07 Mar 2026 14:08:06 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5ffe8c6f1e4sm5742789137.11.2026.03.07.14.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:05 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:07:56 -0300 Subject: [PATCH 1/9] ktest: Avoid undef warning when WARNINGS_FILE is unset 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-1-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=1001; i=rbm@suse.com; h=from:subject:message-id; bh=JJc9wK7lYJwRCdMNjkW1DFLenyZT2CefgXTd0YQAUdE=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QHBLl9m0COM5gHocTdhckfzN9TG/iLA3YrWjU8OOV2BBovuXnkFkkz3/RJ7z2EF//8mSCfX/8+K zcuyn2C0CDgo= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g check_buildlog() probes $warnings_file with -f even when WARNINGS_FILE is not configured. Perl warns about the uninitialized value and adds noise to the test log, which can hide the output we actually care about. Check that WARNINGS_FILE is defined before testing whether the file exists. Fixes: 4283b169abfb ("ktest: Add make_warnings_file and process full warnin= gs") Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 001c4df9f7df..f48ee64c69da 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -2508,7 +2508,7 @@ sub check_buildlog { my $save_no_reboot =3D $no_reboot; $no_reboot =3D 1; =20 - if (-f $warnings_file) { + if (defined($warnings_file) && -f $warnings_file) { open(IN, $warnings_file) or dodie "Error opening $warnings_file"; =20 --=20 2.53.0 From nobody Thu Apr 9 14:03:16 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 96E2837E2F0 for ; Sat, 7 Mar 2026 22:08:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921292; cv=none; b=p1iuy3wP/DTejpN4wsHCP3kTCoGLYkXL59GExZu1GWH8RbL7qh7BK2w1lMMGscVzL14WG1lYCGuSzfTkWeFN2wF0VxWeDb83Yvd7YoGASHxYTl+hY1Y0dvsbi+rqs8Yg3b7DfsepYhG20zrpAgM3h8ooTgL5fh09hLuqfCgB29c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921292; c=relaxed/simple; bh=TcryOQpbwnK79gDk5nccRE6oR4+SJUSYzTmpK4Tkm+s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V6IPRa0vHFQHlGuoYLcEfnpu76s4KtyLec/atYS1dRCIzOEclAia4Px8Nj2hdRAy9LFAfc4pv8xFXU2GNwA4VWX5mIYFBFxmTSyCsiJR2lnFanNzKGy2C6xw1Lr8bt+NlzEjvpFZ0S4aniZhmq2D9NwJeB2BX6b3kWQ7oUph9XM= 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=OpTU3zrw; arc=none smtp.client-ip=209.85.128.52 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="OpTU3zrw" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-48535a0ef86so913325e9.1 for ; Sat, 07 Mar 2026 14:08:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921290; x=1773526090; 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=LGRbysTZfcFY7u6qwb6jqW7e7LVV6ECfBI0vYupOk6o=; b=OpTU3zrwVkCG1G/mztJU9ULA5UEAF3kBCHRmzS1xMQ7sGlFYsNXa87LquwmAyILL86 XGC8PWjEneaA2W0rcCawTlicDlMqouVfAEaeiKvoO86mQEyv/jannnPuo3IjfXsNrT6R EBn/YHXmlwT3iLRfKta9aelHXmMEhLH0n4riGA1vEph7FMWU5lYvkeADDYXCujEhyZts OxD3MK8Zlel54/frhEo9TJ0UIeFyGhz0h2kjsK2/PM4/S2Jc+AmJ5s1OTNRAcfPmn8iu 95PLXxzb2aAbwx+xWFJDndEODGRN/QaGBvrMWaffvRtQVyCLLvMoyfg+4s4I6SPItFpR 6GHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921290; x=1773526090; 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=LGRbysTZfcFY7u6qwb6jqW7e7LVV6ECfBI0vYupOk6o=; b=qZPybT/zNdIF2lAOMYTNaDSqr0uHd2Bc28Ohzzd6pfnMMt3KkIL5o6d9buJLgkvQ7b ae4AKTHe8aA08GkG8mpWXN3nCV/uBCY+IiOlo7q8RzHweESs3DiI/bRMN44MalVQoVHB 5HCszatPFyAr6EpvUvUYy2ISn5YIOhflZ7BPYQRbRMgMuUd15HcKf5iu2dg3rEd8JmBZ dBbJ5rLlsTbe78Ns3/j35b0TGNSaPqY5WOFG7/XkAOyadg6+HXG2NCG9zy6gEyrzUqn8 8URISw9z1ZMNEN+pF5Lyw/yCfLlVfW6l2FWtXt0npmj0MNSpnMldI/myqSsJN4eLhrnI I6HQ== X-Forwarded-Encrypted: i=1; AJvYcCW/uQNI0dJP2V/ipy+3rnZ1s3jXWBkV5whNnTTPVVrBsPFwWYEQZ9ejQIK+XCcSZS2SCOQhIS6oE4ARM2A=@vger.kernel.org X-Gm-Message-State: AOJu0YxwE6Czi7ctA4MKBK7eZ1SMnqpSNyRXbHufhh5JpHRGt+fCbUyb Pc4yWpVQwPiZgi5dCPf2V9Iz8oiDIwgDkOED0tE+/dtWebE0pfBClJ/PwtcYiKXcdD8= X-Gm-Gg: ATEYQzzkdkmYeaM3s2S4qyd1kNoN8JCR9fkEEqqgHApULsANCkh36jDLlhaxj3QGY4v sl0WBG2kUuZKXc2ymtZtwX6s/1BArNkRxBUFJwm7FhRXjyRvth2UcHSna1uVX1PVF5XbIr0huEW J0pSAidwxcxVaI7DZMqlY6iic7U3LaniL0UOZvHyowyicYAMN+fzcbN4NciAkU4K9XqaFkf1T3R sjAKEO1Dn9G4MGfOdumE2v/IZ5gA6MCsDcYL3RPseemjPNycfPXXOMuh2AMcQTWOUhhHSD8H0id pyFpWJzFxK7JMboJe2yvqbi7yXy1+QGCvosQ2FVR8JBhMZdWT4hBl5bJV5A/UNczQyjKJo1I6JO LnvwHHcipGoH0WXt9QK7KoO5kjBJpc5mwYeYbolqpkJNGD2p0mCLg6oLzIOw3LSPJyVqu6iD6rH 0t8gvPVkNBCg== X-Received: by 2002:a05:600c:6090:b0:485:35ba:1d8a with SMTP id 5b1f17b1804b1-48535ba1f23mr5748065e9.27.1772921290004; Sat, 07 Mar 2026 14:08:10 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56b09a26142sm6085752e0c.6.2026.03.07.14.08.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:09 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:07:57 -0300 Subject: [PATCH 2/9] ktest: Resolve LOG_FILE in test option context 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-2-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=1086; i=rbm@suse.com; h=from:subject:message-id; bh=TcryOQpbwnK79gDk5nccRE6oR4+SJUSYzTmpK4Tkm+s=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QPaQ0bPkeLm9WYSHDI1FrOjUe3iQArZxJbwM1PyqQmnOPD4vqt/xXtq2tZwy+73MDOVWg1YhUko 1/SMOLGYS7w0= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g LOG_FILE is expanded immediately after the config file is parsed with eval_option(..., -1). That uses the default context, not the same option resolution path used for tests. If LOG_FILE depends on options that are finalized per test, it can be resolved from stale values before the first test starts. Resolve LOG_FILE through set_test_option("LOG_FILE", 1) instead so it uses the same expansion rules as the rest of the test options. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index f48ee64c69da..b7a1c8c617e0 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -4391,7 +4391,7 @@ EOF read_config $ktest_config; =20 if (defined($opt{"LOG_FILE"})) { - $opt{"LOG_FILE"} =3D eval_option("LOG_FILE", $opt{"LOG_FILE"}, -1); + $opt{"LOG_FILE"} =3D set_test_option("LOG_FILE", 1); } =20 # Append any configs entered in manually to the config file. --=20 2.53.0 From nobody Thu Apr 9 14:03:16 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 102FF37C91F for ; Sat, 7 Mar 2026 22:08:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921296; cv=none; b=f8VlchmMVQEDqeg0EDK3A2tFPRM0/xOe2lHDuQaBpS1wpuYHyVBCGfqbAHGlfSjzL/AjGDb+rQ9INdHflbhYeDDhzLn/nS0SGxf7a//QshAi78XPzNZ3GfsYRoxB+/6ZmDdGIPmSiHqhoGjuITcR0CzqDv/dDaXEy8Zs3GSs1Q0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921296; c=relaxed/simple; bh=XRRVA3NdE35eyTT0PsZWqriSVLCL7lshbx6X6v5riPM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EvJsPfAoJFPnsJG4LSg9rX46gjz97X4hEomt+5nOmXzIPT6zhxTsNucLMRIbSULttWN2DCzuYH7rfUYJXAyAOvUCAKoCkt5rrhfm1ITEZYNK44ni1x3UNqLPfbTn0dgFjgQoUprtCCFcz33VQiLV+u7cVTfLOtl49x+ljAsG0O8= 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=MEHwSh/V; arc=none smtp.client-ip=209.85.128.41 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="MEHwSh/V" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4852b81c73aso8882215e9.3 for ; Sat, 07 Mar 2026 14:08:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921293; x=1773526093; 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=vQHxwVy3E3C9QqGJKg2ue4xcqEvbTbQf8ISxhSiTOsg=; b=MEHwSh/VuYp+RJrgC09odQp9/GHcY3Cy00D7bMm/mGGzvFFw15rBIpHMVDbLUTlLmD t78wh9GdOKqUlzKD5gGsLeMM4jmWknAUqiJ19/GgcOfQ3kzwPylI46n14DTfNV2ZsSL9 OOtnGdDP3R38phHd2oWMbszDQV1NdFzYJUmmME9phx5aVFB9Xey0v0ShPIdb6TeRrpnX dft5Id/s5cdBNEdP+G6G1fg0MpzWGi5QywPYNA60UoZgyKrTn4hDIqgDFjfSyxeyHSV2 2lP8NxSWCz704H8qUm4BSJ3ajfjv246x6ubdaa/Fqng7GU5dI9EkpRX/ZPj9nPtjPzrZ 9DYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921293; x=1773526093; 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=vQHxwVy3E3C9QqGJKg2ue4xcqEvbTbQf8ISxhSiTOsg=; b=k9WUlhKPPBgxTZEe+2ByJ+Z14ZieH2h6IInCTXkCntpGFUabBZf+KkFIk9Pz0XHr8v 0p24ykAx3eOWJLQiGUNrI3nbBSgIbM4G9ZPHKkcES3vvuHGHDr23fHo+e1ic/LgGiHcL /GyeS6aZpc2DooGjXogc1VOJc3ArCPQjZMhnMd9LeQiR2pLY4f6rfhmT78hUjJHxaaaY NgW3bv0b5tROcIqegzXWGR3hJI7vIUBUVQsHROs/ORnMn3vNZ56ZPUjAurnB/tnw1zQk O7Wakpuq75rOlAcK5avMrzIJXm66Tsf1+whaiQIOT7Q1KS6/zG9sD4qFm1aVwElP1rPl 33rg== X-Forwarded-Encrypted: i=1; AJvYcCWcQLId2YXqu3G+dm9umCVo6Q3Kk05L7qSivvUZgGZ4UJXxJdBz9omSwz7Rqz6EYoXbVgSQReBuH1SvaVI=@vger.kernel.org X-Gm-Message-State: AOJu0YwSy1ymLFdl3urZrhB1I5Yu4+KxbesU0hiBDk9fSiimrXTRpKX1 AyIvnM57sCeuQcofexyS0OvNxliPl+jkIvm8cQUwChKHmOeiqAXp3ylTQYQ4luoWLA0= X-Gm-Gg: ATEYQzyw8CEvv311MTaxJM/7ACvZtuSycGyrU8mgs0E1N1NflJCNJDI1yQHlJLCo3gf sAakSlLzmrIHXhrZ/5eBi3/rI4AXZncDJ2UG2LurD56/yDEsD+CBWhZBAR7/fl+oqO/R9SOCLMg W5WJu8Dl7FGag/Lnfxt88u4vn565IbklVd+PFyWMpwtMem+04iGJyb8XglRKPqY38hvaD/QgcW9 LEIpBxT6nbSOdaEUPukEdixF3USilLF71I9JmscgLYg4KFlbYtAeD54G3JXF5hChay8pLpFZiBg XWmsmHvjBVJctgbCoSTRzUBzUUtecS34co82SUXuJagw+gaRKQtvl82VaPJP/ww970ljAyLScun 1+KKcOnnEh0i+MEL0WTJjU54boIApndVHPzpkd8PO9oaTQCFX5/cB2IAjaOia6gWs2YnSm41tfH BQIwCF/cDqoYA7JOaXqkuS X-Received: by 2002:a05:600c:3d90:b0:480:4d38:7abc with SMTP id 5b1f17b1804b1-485269304aamr102348585e9.11.1772921293442; Sat, 07 Mar 2026 14:08:13 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5ffe8bd67bbsm5698948137.8.2026.03.07.14.08.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:12 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:07:58 -0300 Subject: [PATCH 3/9] ktest: Treat undefined self-reference as empty 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-3-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=1242; i=rbm@suse.com; h=from:subject:message-id; bh=XRRVA3NdE35eyTT0PsZWqriSVLCL7lshbx6X6v5riPM=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QO1kaxK+PuaIBPZxBTJyztwsZxnLPE/C9ZfP+UxjOSnN7dNbjZJqltj9sSCyO/WUp6/EbeEwyuP hsYTnNaSaQgA= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Config variables are expanded when they are assigned. A first-time append such as: VAR :=3D ${VAR} foo leaves the literal ${VAR} in the stored value because VAR has not been defined yet. Later expansions then carry the self-reference forward instead of behaving like an empty prefix. Drop an unescaped self-reference when the variable has no current value, and trim the outer whitespace left behind. Keep escaped \${VAR} references unchanged so literal text still works. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index b7a1c8c617e0..b8fcdabffffe 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -910,6 +910,14 @@ sub set_variable { if (defined($command_tmp_vars{$lvalue})) { return; } + + # If a variable is undefined, treat an unescaped self-reference as emp= ty. + if (!defined($variable{$lvalue})) { + $rvalue =3D~ s/(?; Sat, 7 Mar 2026 22:08:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921300; cv=none; b=TcnFgIsoHgTRkyVoM/vgjcS3ba+QMcW2JyniXRjAPDbwIQs3ZbNYhFJeQkvsd2wSuIA5QwhNGBaP4SRCJk42Cq/Lb072dlPiKKwREFCrHtfIaj26l9at3SKAILp5JVpM4Rh/vBIA2O0LcLqKB1Njnod66jfC/JytSGB4hrASrBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921300; c=relaxed/simple; bh=69/U90k4rCh2SrZteEHZoVOuBxAGQijE60VsS9rJG0Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dqo3ngpyKieRk/O59bW8kTdSnRqIemaQ6D/TdVfII4d37dhO/UTa6ntiY5WbHbG0d6XEMctHyvgYKrjSbCp4NUBsbRStMc/avWd5x0BEfRM/baxjLo19Yh4R7PgVmlyDi1KjYm4hN5NjnFqMszY7PrcZJ6BvWWeIwzKcsB0P8wM= 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=GD5sCKuj; arc=none smtp.client-ip=209.85.128.42 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="GD5sCKuj" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4806cc07ce7so120276205e9.1 for ; Sat, 07 Mar 2026 14:08:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921298; x=1773526098; 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=i2BnybNkIXw4T9ujw46pnGWpf6OsUSeRwJcYWoYDq64=; b=GD5sCKuj0UnE05SihgqJUZM6Dl6JuD+t5YcZtdM/rg7d3/6/0DbTWIoYRbiPa3kvGx K3XBOLg4HuOpDNKh9qnKoFEN0ufLqDlVAIStRDEqaYtyKEcg5FXzHVtBPnqZ2ejoKwCh v7wmz0AAgvmFVyJMrqZF2vfWa7+e9b3+DXhV1TeRxM84HWeEDApcxh6TSFpXuNn+R4JR dCAtEaZsng00nG4enYQwKT4spxoiXSWFpRdDXw7dK3iaE35TdrBMBM22PnWezjEAC6fD k9Jshnb+6pd3CVwENgcMxxUWkBAfYLMvJ7b3F/b84AI4STaxRR02JPif/oPMUl84iZl/ ghsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921298; x=1773526098; 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=i2BnybNkIXw4T9ujw46pnGWpf6OsUSeRwJcYWoYDq64=; b=CmPO9UM+WeFFgLwobAcETUSEokJx3VnS3TwCTq187crBYhsianekndTR3B5AeHxuLI nuP7Cb7yyDteI0X8T/cy2g0FeSMv8tqIbUW2xGgwqX4DyhFSxX9Xgjyrfihva2IopXq8 st3Ce1uvIJLxTleNszaTpTILXi4igGMGj66bZ8Y3t+wcco22lVSuKdnBi3ZupiHm2zXb xdJYPNj2ie+QZAY7PBeG5sb01cdyjGAJbDPvyWfTgNh6umEp72+/iAuTv9nXhegRE7gV JCNCKRmoTmp1CV+c1mFRBzOvM37Vrx5U3X+gKrt7JCBnNXMxrBX1yuagbUvIUaVQJ/sr PcVw== X-Forwarded-Encrypted: i=1; AJvYcCWWBHU3iGwJs1OfWXd+BsRC/oJRan93cKPBJpxfafixyQigplM/V/Iq1qyEhBnoNgWKNWBQaTAsYW01JaM=@vger.kernel.org X-Gm-Message-State: AOJu0YwOQBA0CfAYT+oXOx9oPXPaqUEnK6BAdlr8GFVhUk5E2/zUKzC3 iReDb73MNXeEWmycj/aVrX4cSG8yd3p40d7g55vTBwWwqyEHQt2AE0l8PVI2MiygbFI= X-Gm-Gg: ATEYQzzqpRhrCnvEiV3J83CRR5k2X9bVac46lNKyY3hG3YVNRaAXiP0Aoh8pnbDXl/c n3FXej0CInYlEM8mhX9knnWjm3UiK8opphaNbCpYhji4x+DkNkde+AR/3QTBLkRCUkvk5BIYR1v jyGp/QtRnkkH7ymdHmCunnDcgmzFacuu/LHIFXnTWmc2dqaBrEDcAuJ2yGSQcAkp9lVlhsKY/Qo wNnVavnfmkAzfPmvPGOI17Sqy8Huazzq7fZ04bOt6iq8jdTGhQA01IpNqTFMySTx+7TSZkUPnlK elbKPeKB8+YVcIwLZbojXgJo6q7QjRvZFwWuuCsdjLKv1wByc1c8GHJVbGzu+jTDSK4B2OORDqb bIQ3q5xahGwlC4HNglPnkO5njJOyUxMd3nld7VgXLUx9FMYukREvfvQlkxc+KzyboUhkNWmvSWC IcjSzeSb+50g== X-Received: by 2002:a05:600c:8b01:b0:477:9814:6882 with SMTP id 5b1f17b1804b1-485269198bdmr109887885e9.5.1772921297708; Sat, 07 Mar 2026 14:08:17 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-94e7b355238sm5397421241.4.2026.03.07.14.08.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:16 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:07:59 -0300 Subject: [PATCH 4/9] ktest: Honor empty per-test option overrides 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-4-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=1734; i=rbm@suse.com; h=from:subject:message-id; bh=69/U90k4rCh2SrZteEHZoVOuBxAGQijE60VsS9rJG0Y=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QIkzxQAZ9NPP1ctnhewdo448uowkaEGToUfjyKovDDHS79inuyl9Xtam2j+DThVOrIA/k5Vo7pB gIcptmWBzTgg= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g A per-test override can clear an inherited default option by assigning an empty value, but __set_test_option() still used option_defined() to decide whether a per-test key existed. That turned an empty per-test assignment back into "fall back to the default", so tests still could not clear inherited settings. For example: DEFAULTS (...) LOG_FILE =3D /tmp/ktest-empty-override.log CLEAR_LOG =3D 1 ADD_CONFIG =3D /tmp/.config TEST_START TEST_TYPE =3D build BUILD_TYPE =3D nobuild ADD_CONFIG =3D This would run the test with ADD_CONFIG[1] =3D /tmp/.config Fix by checking whether the per-test key exists before falling back. If it does exist but is empty, treat it as unset for that test and stop the fallback chain there. Fixes: 22c37a9ac49d ("ktest: Allow tests to undefine default options") Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index b8fcdabffffe..42bc505e14cb 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -4191,7 +4191,8 @@ sub __set_test_option { =20 my $option =3D "$name\[$i\]"; =20 - if (option_defined($option)) { + if (exists($opt{$option})) { + return undef if (!option_defined($option)); return $opt{$option}; } =20 @@ -4199,7 +4200,8 @@ sub __set_test_option { if ($i >=3D $test && $i < $test + $repeat_tests{$test}) { $option =3D "$name\[$test\]"; - if (option_defined($option)) { + if (exists($opt{$option})) { + return undef if (!option_defined($option)); return $opt{$option}; } } --=20 2.53.0 From nobody Thu Apr 9 14:03:17 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 1B77537F726 for ; Sat, 7 Mar 2026 22:08:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921303; cv=none; b=RyHN9aGziAauGQU11w0yiX/Ky1alCOrQo+mQCEtIl+ZcqnOZADfmLwtttufnEjd5l8rLIkq3BR/64dYL5sHFNk9eYzxKCixT9OjnVmaX5pzgQvqNbE4LTfwZlyAd6gZ/7vu1GzytMTDZZKFzooi2Rbp3fjZHO7ckH+BDjViadug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921303; c=relaxed/simple; bh=EhN7FFnDvnqHW//c47ECrqUn9sxmAtlNrlZARJa/Vh8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SCGUl3WpKJSqBrMd8yVAhj2KxbsLvfAUETlERheqCPc6/JbdzFYBigyuDADiFo1SiC00Fhd0rebFtZIbugs3wtvtMCPASn4rIKIfx2Sz9+u6EHvlUSxog9iwfetVQvgZkVwQvNqc1MakUu9J32VCIlTaMIb1IHvDsAYNk9ioa/8= 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=A8XMEGna; arc=none smtp.client-ip=209.85.128.41 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="A8XMEGna" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4806ce0f97bso92376945e9.0 for ; Sat, 07 Mar 2026 14:08:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921300; x=1773526100; 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=l+cLrLaCup31MPE3GDka6+sYqhwwZYhPp5M9acTvvVQ=; b=A8XMEGna+aOyIWbqtXhCD0KNn7WjBeccqh4jFSV0Q7EUAXYnW0SZJiUhG8j0BVB0Xv 4PNBmZPjqqIEfDotoDQiwP9cuu1Wi0qFeHKGFQM3Cmh1L0jo86ZoqzRB072hHqfJaIiP Wnj+AF/vKyXo4VosMMND471luJKBn06u4oyejI75GGUUbKlPccsUZ2c2Mw5xsQm78+o/ FDuTIzui9eYRCPUL1UWJyI+5yWvq2Fsqh4GAUM951x3aMUdaDjq2Fwn+/uO10goh9L6N So7zLSWYIEhQZtMzIgmVB3RJTR+TY+jgi2pqRi71IpsCJNBmr1AuoeJ5ueYNRXpY+JrW Dbww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921300; x=1773526100; 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=l+cLrLaCup31MPE3GDka6+sYqhwwZYhPp5M9acTvvVQ=; b=K47dJnrQ15Ng/i+SQVLxHEeqgpjQ75zDBlN7NiniICxPJs/3CgDLVp0ueMGe9NX5g5 rc48ugjl/02ee8u6SbJ7r6KO2FS09LWpTBFvIZ/jW0zdtpDPzyTxryZxI45n1dXrb1Kc uEyJ8Qy3dJGiFSgGWMmFaPywSmOIPFGP6BN+Vh/iXWSHJ82yQ3B/iBUA76N2A5A8DvYt Ypg6ZtP1Dw2OV9GUSGgTVeFV0Y3SySlNG0ub5BzDnySrJNXcUed5vR4UkTfgeeX6Nyt/ x1nQIZD6fPj7Qef2fo4RzDobQb1xi70103XNkLJTkiaDFSmlLW6QfVeS5QIWBSFTMGtX XQtg== X-Forwarded-Encrypted: i=1; AJvYcCWk1jcTz4O1MOG5vHMH/O3H/cJkMmfGunF/6ZPU2GvB5NIOWhqWG46vHJO0TiqjSRldjWsMsDxoMsJRO9c=@vger.kernel.org X-Gm-Message-State: AOJu0YxhpexV39W1WpQQ+B8q3aEPSPve5BeFNmKPiiT+zHD1mb7vCQIK z/wDW8lx7bxgq87eTGO3Yei08opJiYn6hduqcXAEQkcR/5am30kVTq2/yHo9Aoh02Y0= X-Gm-Gg: ATEYQzwcZ6w9rUFjOrGLnL3w0GPUOOK4mH2HqJQ+J1lab1wMYCHXXdVQLbSV7qeBslv tL61jBrWvkNa6z/gCldxHLm7Jv9gbot50V0A9etPgZIL+3KDLAWT2SMyhC0T7wKL6n2+kZi6isw xu8jyV5NxMIllzCPmUH16Vt6B6VO7IncUsC4lB9/MypkM0pc8x0alsbzGjuDay5q80CBM13yNYY vF9udMEw97RYiTO+pfI7m6XxkUv5FhY2xSp4PJEST4RMq/XlhPNWPNRVBN9EIgx7MwBpPF3700+ S1aSFStWTsQyEpXRUJn2fKJ7qkAyKAstes9vSjfmS97xebu27I/L1F4qNeTxLv3NofHvoYrXtvy APg2v4OTxwS7yEaRfa8OsBwkQNwyz6ZIgd390j2pa2nUsy0yKS3zI4SBEQwO1EGsSXFnMXablDN F57Il/P7f16MDYKxSLEoIO X-Received: by 2002:a05:600c:1e88:b0:47d:8479:78d5 with SMTP id 5b1f17b1804b1-4852690f599mr129881545e9.7.1772921300512; Sat, 07 Mar 2026 14:08:20 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56b09a08ebbsm6088065e0c.1.2026.03.07.14.08.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:19 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:08:00 -0300 Subject: [PATCH 5/9] ktest: Run commands through list-form shell open 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-5-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=1117; i=rbm@suse.com; h=from:subject:message-id; bh=EhN7FFnDvnqHW//c47ECrqUn9sxmAtlNrlZARJa/Vh8=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QGaTcI3mhAeziZ5TriIL786oZBDfydIOs8LPCuUnyQUwzRVKuCgRO1B+Mul4oF3CznOMSx8P1hj LX2qKJwyHWwk= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g run_command() currently uses string-form open(): open(CMD, "$command 2>&1 |") That delegates parsing to the shell but also mixes the stderr redirection into the command string. Switch to list-form open() with an explicit sh -c wrapper so shell syntax errors are captured in the same output stream as command output. Otherwise, important errors can not be retrieved from the ktest LOG_FILE. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 42bc505e14cb..9d6f50045dbd 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -1921,7 +1921,10 @@ sub run_command { doprint("$command ... "); $start_time =3D time; =20 - $pid =3D open(CMD, "$command 2>&1 |") or + $pid =3D open(CMD, "-|", + "sh", "-c", + 'command=3D$1; shift; exec 2>&1; eval "$command"', + "sh", $command) or (fail "unable to exec $command" and return 0); =20 if (defined($opt{"LOG_FILE"})) { --=20 2.53.0 From nobody Thu Apr 9 14:03:17 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 9748537D12B for ; Sat, 7 Mar 2026 22:08:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921306; cv=none; b=aihKD82IIWLKbew6CwBBmHYVhy79xnTTY/QcvCeEUl7Uyala0rrYreDoMUEFF0JuLyvMToiGOUJItMTs2tlPx+y0+37J1+8gxsJ1UADpT8Kun2mnbEYCdE6ZHag9K3P1KIcpJSxIrgTrFqzep0zdFx7lzqBwR7VJJV9R3Y5ZUS0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921306; c=relaxed/simple; bh=KO2CH3fGcpg/tZ9LTCuqxh0HYar7/ISsFmixmMH2/SA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lAeLIgUpbMoyWEm8qpkj/InBFCj04Og2UF2809lyoZj5UFtuAc7hsE4c+92C7n2sicfPCJTyGgdiH8PAoTZVG2hk6hHyXXtOekL2Asp7feskjLnD/vkNdcTSVAMtPfbnmYZ3L7h4yNMEMnqrPYKZt0nGcx/tRzfBtbPIAMeTo7U= 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=AzfRO/YH; arc=none smtp.client-ip=209.85.128.54 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="AzfRO/YH" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4852afd42ceso12408405e9.2 for ; Sat, 07 Mar 2026 14:08:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921304; x=1773526104; 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=b4IswhZ42zv1+/Rz8ZoVR1ZNRwrcr1SrfkwONSDD8Qs=; b=AzfRO/YHOEgV7HC3D6quZijxfLdhTK8bnfdddrU50ok08l3NVer1vxyh6J7sagPpMa oVTeTio1Ld9zmHwHmDO08ilyTHFQ9iL9ItBWXR4f0M7mARM21Lkg3I6sJ6g7ounVhGSF sDP5mFs9L5N/NZZeY5N973ytewxdDk4oVdXOiSu5l5/OAMl2KmqnKmW8c0OM6wQywpcP uxa5DBFKXNVwkW4JBCBArJ7wNk5NQaaNZzXpwdLZoSPPw6ze56PXk4KDw8C6GIIOLEJO +lxYcES/1rKKYKQf22KtGl4pMk13Gz+9sx7ilyuzQwj1QG8WwihayVhn/24kGiYn1IdV gpTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921304; x=1773526104; 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=b4IswhZ42zv1+/Rz8ZoVR1ZNRwrcr1SrfkwONSDD8Qs=; b=f77M+SF+UMdkuyN6K/cZAKBYF/Iz2vksUsDq4s9sfVTWdl21p+eWnPIukni2SLdWqm WDdhQ4E2SjTCi0/n3dhKAQF0hT6AMlnK8A26+pjqji9ExlUir7mvSsBxUbtptZsX8Ukg kTvNrvMivPfFq8TRvWIuDY2WZriHn3C9a8y9iSSZ/u+Lcm6bInaF7cLU6tIrfQYnDQTf 3XnC/VuGLklV8yyFyof6WjBozMF7o0/9PxFrUX+RwdYQAOcP7C6ED7dYCDLA4t4IjSUP ARloASnpmsOB0fPrlImWL2z9Hc5Z8L9RiByBlwprDcGP8LyJMZR5EiZ97qZjXEDVwKG9 vBoQ== X-Forwarded-Encrypted: i=1; AJvYcCUz0zmtGH0uSOLABqvCrZHvWrtuOyPXqNRo5vfC3YL6mGfRxI5//JoABOsaKO5gN/3MQlde931gCvpxGwk=@vger.kernel.org X-Gm-Message-State: AOJu0YyVG5zhIGYod5ez6+e6H1il8GD01Or5LeUn71TjyXgvJqddP6pR 0wwYH0VyRiXv+wwYmQDqZA37gBSUNsaSzvjW7j8ikbehPev+nMXC5ToL7xiXJzhJxqshXvmCYFR uY40r X-Gm-Gg: ATEYQzwsMu3mjo0ZBECKX1LBugnS9vhL91GFn2dMxKYCIZAAkIqCCmMKy488WysnLi6 +v0h39pMkXKWgDZ623plm0+gA93RnQAtZPlrUliOw0K9cz6isSmiUIbCd5zClBAMPaBb7ykA0/S YHvXEdmBakIMKAFH6BTQZWk2KhP/xhbi3nY95wHv7xqPDCz4oRlrA/NsRmLe39YnMJRH1+s6MiQ zyHBrJcvtkBnBjCsLozg5ca62BETzIg7OMSs6L0J7ofKdLgXeNRkjb2lu9cU4y+hI7p+DpDhLeR Z4eaPnpkOvy2DPCrCjWpcHoGxtLbqyojvVdOam5syOl0m4K9HDKwjtlkU9L4wcTShbGEtvqpBZy 8s2YJqHbsPLRWsLI6kwrtU9legyvBFyPf9+yFf6OtooE8Z61OxHpvk8cW708H8NntEj8GgD3XDP Fc2FS+r+zoqg== X-Received: by 2002:a05:600c:1e24:b0:483:887:59b0 with SMTP id 5b1f17b1804b1-48526978dccmr113450985e9.35.1772921304088; Sat, 07 Mar 2026 14:08:24 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-94e7b57ec19sm5374828241.14.2026.03.07.14.08.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:23 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:08:01 -0300 Subject: [PATCH 6/9] ktest: Stop dropping console output during power-cycle reboot 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-6-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=1568; i=rbm@suse.com; h=from:subject:message-id; bh=KO2CH3fGcpg/tZ9LTCuqxh0HYar7/ISsFmixmMH2/SA=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QFQ+GVOHksGnjqy27RtY6Yh2Y6w5StnzaKbbLs7hHORFURMXfOtgk6Ckyfn2EVImGUXuxxaS9c5 scSlrLNMNJAM= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g The POWER_CYCLE fallback added to reboot() flushes monitor output at the wrong time. In the untimed reboot path, flushing immediately after start_monitor() can consume the first output from the new boot before monitor() begins reading it. In the timed path, flushing after POWER_CYCLE can eat the "Linux version" banner or REBOOT_SUCCESS_LINE from the new kernel. That makes ktest miss the boot it is waiting for and can trigger an unnecessary second power cycle. Start the monitor before POWER_CYCLE so the reference counting stays balanced, but only flush when reboot() was asked to wait for a timed reboot. Perform that flush before issuing POWER_CYCLE so it drains stale output from the old kernel instead of consuming the next boot. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 9d6f50045dbd..bd2e2311884c 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -1499,12 +1499,13 @@ sub reboot { } =20 if ($powercycle) { - run_command "$power_cycle"; - start_monitor; - # flush out current monitor - # May contain the reboot success line - wait_for_monitor 1; + if (defined($time)) { + # Flush stale console output from the old kernel before power-cycling. + wait_for_monitor 1; + } + + run_command "$power_cycle"; =20 } else { # Make sure everything has been written to disk --=20 2.53.0 From nobody Thu Apr 9 14:03:17 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 55A5F37EFFF for ; Sat, 7 Mar 2026 22:08:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921310; cv=none; b=lXGzio9UlNAlAsR7jOl0GH5UZNtZjzRooej3eSNrlTQWXjQOCeseAj6b55JNJYlg5RZTJKRwj8PmsVSUbJaC4jcoeaoi8n5rpg+C7LsAiiW6P11ALBWCASgTxUm8FAwGPtinLeYoVnkOU/3GOthEfGhP1IzuPFthWQUON95pEWU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921310; c=relaxed/simple; bh=O7UZb0JaYX9pHO/9CEZx9SNewv8GCjvZd6okVCtK89o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AMzQVlxD3XqpgsZdtqErZ3elDzTA42pQJ44ohRCPpT+l+01s3mj3SUJgzUkBWqbQ4f4CfMpSPGn13eTDayuJlrMykbdb5NdUnIKj+I6vHZUJQPIGPPB2T4ILjFykofjGNYxT+VUBn62W0CHPL9Wibyfvz2KuB98s7yCzM3JrCgk= 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=GzlCtnz2; arc=none smtp.client-ip=209.85.128.44 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="GzlCtnz2" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-483487335c2so86856195e9.2 for ; Sat, 07 Mar 2026 14:08:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921308; x=1773526108; 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=0W1YazmkzbcKgnrz8935QMHEm0xmUFNwhDaZDz9q/PU=; b=GzlCtnz2Swvaes9wjBsYZM8XynBP+/FIdhvuoFkPhOvmAq2Oj1IhC4qZfprD7pvJkB 3mub1j9EaWeZbYbBwBLoxoiscjTpIjxwFhhgX3gvfCtcayYjERlHy3KhT69oMWeGCNwg wooKCEtSjSp8GIbOPkaTN9wnxBBQ2SrWmU3EZFNo/gyynuG8ORDKm6v2tq6vW9HhkQc3 Cbm6LBQgonycvavnIcJfDiOuDEiakVB836PjNvmw+dApnr6gm/NFzjMYKBMHrAab+F8d lVy9MS/e2H1tF09iTY2WIm53ynlnyOisN9jijH4hcGsi9Ntpf99vMtptF9szoi6Zs7P3 Id/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921308; x=1773526108; 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=0W1YazmkzbcKgnrz8935QMHEm0xmUFNwhDaZDz9q/PU=; b=eLherbJsOwMi6Ci7EGZfsSqyyikd/zVhFV/kEYLviU8Y6jnUhXvhBy/6JA4y4XKeNz 0+bp1ueS0Tr4Iulw91Zl4rElcdJP6gFlek7ES9PwVh3GvTcoRe0ofMTe2P+9w9iwp7Cb lskGYjxArLqQPDHFzOJzr4VwuJdEiGIf4gv4mPrvxy40p0S8/hRzJs9frsrY3GUaLl0w H7ZgsHev59oVbN11T1eJIC8eW8qoSlAx0BL4vHnlKZSRioQlhnsTPuDjiaU5+yLf5dX+ 06ftDmnOw2v8Ea7UgxEvG9NZzTQszg+xKD5OR0avp0ou6xk5iel3GLDFzIele6PuIurv HGug== X-Forwarded-Encrypted: i=1; AJvYcCWNwWPka/0f0dANVJc4NPUhUy86VZY8OlyVM4ZJefGUECja42u5zglCJQ6cp9qJlcktMkAbNyZV9y6ISII=@vger.kernel.org X-Gm-Message-State: AOJu0YzDG6XhWOE2/7M9CtgnfWa2CPHLF5Jdm6Yj0K5C0/WaPSzMXDoO RciekrYLSJrSEr8gFhtyBmdEuZFfzoWHWMEd5+e2WuQJvBfRQiDwY8caOp4ePjidvOg= X-Gm-Gg: ATEYQzw8c71jM5sAXbIFyjlV60AG4x8A5kBGf9g6RSYuRZvN0dr/XLfHDuQcRSTokBQ /d86ja2xzFzEJ8kpKcHVGkInqMHwXTazR27caZu56454AhS4OtWGmVC9jwqnbV6gD8Z1JKv4baE c2dx+ZxvrVffTmaEawV00wUPU96ctSeWmmWsucFqHa7+BwZTtnaG0KglusZcicHRdjwrPtqMJU3 gmiEJ6/OtCFCdzKc94L2ljt51tDN+wDkQFBhlStWEqmZ/GamqWqoUXQd0v1NSPs/eP/9LhJK5l5 V7cajFUWRw+aq7J/lELyYq3ITAVOfYO8lHhF0roQtVOBPBmdS8t0WGiAbOqc4JayH31/4pWnKLf X5DtKrCwcr6w5jdxlGkXqKHc6CEIE+GRcLHUa86uq0HsmUS2/hXZNTf33X0O8rBh3vYZ4fDzdCw KR2DLiYVgs0A== X-Received: by 2002:a05:600c:6085:b0:479:2f95:5179 with SMTP id 5b1f17b1804b1-4852692fec0mr110444915e9.15.1772921307706; Sat, 07 Mar 2026 14:08:27 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56b09b6ac44sm6060451e0c.19.2026.03.07.14.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:26 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:08:02 -0300 Subject: [PATCH 7/9] ktest: Add PRE_KTEST_DIE for PRE_KTEST failures 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-7-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=2252; i=rbm@suse.com; h=from:subject:message-id; bh=O7UZb0JaYX9pHO/9CEZx9SNewv8GCjvZd6okVCtK89o=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QChO3z3adKhoaTfO5/5EZ0uy+hwTyinaxuv3Y/Rk7E+M88GiGpZzR9lk1e6Vk2rWhOCaWA/b0Xf WX0h/SqK1pwk= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g 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. Signed-off-by: Ricardo B. Marli=C3=A8re --- 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 =3D ( "BUILD_DIR" =3D> \$builddir, "TEST_TYPE" =3D> \$test_type, "PRE_KTEST" =3D> \$pre_ktest, + "PRE_KTEST_DIE" =3D> \$pre_ktest_die, "POST_KTEST" =3D> \$post_ktest, "PRE_TEST" =3D> \$pre_test, "PRE_TEST_DIE" =3D> \$pre_test_die, @@ -4506,7 +4508,11 @@ for (my $i =3D 1; $i <=3D $opt{"NUM_TESTS"}; $i++) { if ($i =3D=3D 1) { if (defined($pre_ktest)) { doprint "\n"; - run_command $pre_ktest; + my $ret =3D 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 =3D get_test_name; diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.c= onf index 9c4c449a8f3e..b6e439ef511b 100644 --- a/tools/testing/ktest/sample.conf +++ b/tools/testing/ktest/sample.conf @@ -494,6 +494,12 @@ # # default (undefined) #PRE_KTEST =3D ${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 =3D 1 =20 # 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 --=20 2.53.0 From nobody Thu Apr 9 14:03:17 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 From nobody Thu Apr 9 14:03:17 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 3908A37DEBD for ; Sat, 7 Mar 2026 22:08:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921317; cv=none; b=UuQurSCQFmsaNvk6FOcfFsoHS5d9JMd0Q3YkkHBkp/vX0LP0cwJAHxBZjkpnCrdnF5QglQKTDq7tQJMyEEF2X14++NzpBGaGUq2FUG87FOAXwjWOhKyzgHYQ5u88hX2tlpdxtl5y3uUfjO2TZvViSMPHXUvX/lAdhrcAC+yYyM4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772921317; c=relaxed/simple; bh=zgtGhyIBDb9mNj4tF+CELNX7FwE5DXKhqv3SiNjQ6aU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ivjWDNY0IHxigqgdgRE6nYjHsAriDlgRrRK/hijGKzpRjkCSurvLNnWiUrvT/pm6WR3LJpTLHMOEMmK8OkqaMtDsWhlEGLcDQLLp73f7Sc54ZShdWq63N5QhX1cCug6XTd35ZhbjUeS+P0B2K+3scUyLvwzvZB8sVEe/RDIxu4o= 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=bdrNI/mN; arc=none smtp.client-ip=209.85.128.51 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="bdrNI/mN" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4836e3288cdso70940785e9.0 for ; Sat, 07 Mar 2026 14:08:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1772921315; x=1773526115; 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=wAlSefDotAsDdu5p6dXRKGZQPdanZKaUs8WMkbAELKM=; b=bdrNI/mN8gCphPAzmJVTrT2rBDObcV14wyxuyTwJ7RwK3A1a+haA9gDeO4XyDY7zEn +8NpZRTAenNaXtVW/U05LfFIuZsD8TxfbpCItnfKvvt15vvbkZZoSeAivZmIyZZW6//V a2/La9CrCOHd6q/2io2Ifx9qXyIJZL2PiadTfPdqJUM32Uph6sap0KE8mXdgano6hx/R xJP6c0oxfl2UQ7MXWIndCPvyU8Z5HUFaYyP/FEG4wlgmOfoSyUoT2aP9r4gdKfaZrO5T M62e6Z47h3SydemI0vFy9qyZCzuSM5be/LPWiDNTb6gid9SiZM8h8qrOx8VW5zTf5f/M 424g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772921315; x=1773526115; 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=wAlSefDotAsDdu5p6dXRKGZQPdanZKaUs8WMkbAELKM=; b=WgOWcNt3bJk08dInRbGbqiq9gjz8K0ZhJxnWKCcKuCXd0mo6ckUavnVb+2567d4j6f yNFjRD0n0YKSyZnv+MeLPCRuu+f+0cQWnIli/LBTjtS2+Cg/pIh/vmWxOAm7SqCTNfOp OhbSI0KbD0o6bPJApihMgydypbaAVgzjS42YtQ7lRP/RY4HXdygN4gxaZTNQGgroYreN a+ypEYKOw6kY/Hz+Ac5yTRgmJRUknojGhNrig8Nz/OCWIrmDhbBonYSPo7Ko/WOoLl/q 9budkwcZtomzrSEL983odlQFcFITi/NKFwnoX0/jzJR25WcCRQjuN6m1AtO8xbNqGi4o G4mA== X-Forwarded-Encrypted: i=1; AJvYcCWQl/FsJQoMt3TcAzq4PExor0ZLwu+WLVhwsZLQr3M7qP+llLaVobiGf8EcaWDnSqf/HQvloIce1t5UHMs=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh7UTmwm4WkBKGOi+mEtoj/fCmLwrZx+RMfCVTELWuptkFDQH4 Up85ePGJU9eOKy9F9agqxlgemUXydYoijPI3YWrgWTVteivDtqQOM2/1szQLkqtpA08= X-Gm-Gg: ATEYQzzKiqNWvxa2cMLKyUTXgvBLHYkuG/GdoDNzNkrt/YkJ9ipQkJxd1LlFeHOQym/ 1A0g1kTRry4RrvwMrkT5Xu4oZ08kMEKN4dGXSKyoCVWoKvYN1xLX74qj4zHxWGm13I+8Eef3xm5 GhoP10EYOO1Pgvmvc8N8Yv4yDya/7/SsnfRbEd8CXiS/MJvC54JTk4FSI0AljN7A92Rcnw0B4JS p3qJy24Dd6eMrA0tN9lwRAT/jfGO6yohZfQFGn0xNpFVPHBml884XmZP+SUpETRmqdv0JJ2c6aR aUYOyHRrUGbZ70bmwWO7wDj4k/qaOqlZwJfOdkY5W6GDETn/X7F7ux7Es/bRPlZGKqA0eePsKIL 9eZi7xd59/IhmC2HL6LZpDgMBEHurAltwkN2erWL232yyHorEQXZ20JNgPJrtrhnm9ie7wcro9u BpYUruuH/3xQ== X-Received: by 2002:a05:600c:8a1b:20b0:47d:7004:f488 with SMTP id 5b1f17b1804b1-4851ee992d9mr132590775e9.10.1772921314599; Sat, 07 Mar 2026 14:08:34 -0800 (PST) Received: from localhost ([189.99.238.164]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-5ffe8922cdfsm5582113137.5.2026.03.07.14.08.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Mar 2026 14:08:33 -0800 (PST) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Sat, 07 Mar 2026 19:08:04 -0300 Subject: [PATCH 9/9] ktest: Add a --dry-run mode 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-9-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=4288; i=rbm@suse.com; h=from:subject:message-id; bh=zgtGhyIBDb9mNj4tF+CELNX7FwE5DXKhqv3SiNjQ6aU=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QIz0ODCUQu980JmjPlQ9s37r18QB/xyDGTdmBiP74AV9FQ2EwfGizb3dDgxTlPEPMTS+ds2tlSy koobOTIkUZgQ= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g When working on a ktest configuration, it is often useful to inspect the final option values after includes, defaults, per-test overrides, and variable expansion have been applied, without actually starting a test run. Add a --dry-run option that reads the configuration, prints the test preamble using resolved option values, and exits before opening LOG_FILE or executing any test logic. This is useful for debugging ktest configurations and for scripts that need to validate the final resolved settings without triggering side effects. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/ktest/ktest.pl | 89 +++++++++++++++++++++++++++++++---------= ---- 1 file changed, 63 insertions(+), 26 deletions(-) diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 8962857ce4a6..de99b82d16ad 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -85,6 +85,7 @@ my %default =3D ( ); =20 my $test_log_start =3D 0; +my $dry_run =3D 0; =20 my $ktest_config =3D "ktest.conf"; my $version; @@ -587,7 +588,7 @@ sub end_monitor; sub wait_for_monitor; =20 sub _logit { - if (defined($opt{"LOG_FILE"})) { + if (defined($opt{"LOG_FILE"}) && defined(fileno(LOG))) { print LOG @_; } } @@ -1365,6 +1366,9 @@ sub read_config { print "$option\n"; } print "Set IGNORE_UNUSED =3D 1 to have ktest ignore unused variables\n"; + if ($dry_run) { + return; + } if (!read_yn "Do you want to continue?") { exit -1; } @@ -4249,6 +4253,53 @@ sub set_test_option { return eval_option($name, $option, $i); } =20 +sub print_test_preamble { + my ($resolved) =3D @_; + + doprint "\n\nSTARTING AUTOMATED TESTS\n\n"; + + for (my $i =3D 0, my $repeat =3D 1; $i <=3D $opt{"NUM_TESTS"}; $i +=3D= $repeat) { + + if (!$i) { + doprint "DEFAULT OPTIONS:\n"; + } else { + doprint "\nTEST $i OPTIONS"; + if (defined($repeat_tests{$i})) { + $repeat =3D $repeat_tests{$i}; + doprint " ITERATE $repeat"; + } + doprint "\n"; + } + + foreach my $option (sort keys %opt) { + my $value; + + if ($option =3D~ /\[(\d+)\]$/) { + next if ($i !=3D $1); + + if ($resolved) { + my $name =3D $option; + $name =3D~ s/\[\d+\]$//; + $value =3D set_test_option($name, $i); + } else { + $value =3D $opt{$option}; + } + } else { + next if ($i); + + if ($resolved) { + $value =3D set_test_option($option, 0); + } else { + $value =3D $opt{$option}; + } + } + + $value =3D "" if (!defined($value)); + doprint "$option =3D $value\n"; + } + } +} + sub find_mailer { my ($mailer) =3D @_; =20 @@ -4348,6 +4399,8 @@ ktest.pl version: $VERSION Sets global BUILD_NOCLEAN to 1 -D TEST_TYPE[2]=3Dbuild Sets TEST_TYPE of test 2 to "build" + --dry-run + Print resolved test options and exit without running tests. =20 It can also override all temp variables. -D USE_TEMP_DIR:=3D1 @@ -4379,6 +4432,9 @@ while ( $#ARGV >=3D 0 ) { } else { $command_vars[$#command_vars + 1] =3D $val; } + } elsif ( $ARGV[0] eq "--dry-run" ) { + $dry_run =3D 1; + shift; } elsif ( $ARGV[0] eq "-h" ) { die_usage; } else { @@ -4427,6 +4483,11 @@ EOF } read_config $ktest_config; =20 +if ($dry_run) { + print_test_preamble 1; + exit 0; +} + if (defined($opt{"LOG_FILE"})) { $opt{"LOG_FILE"} =3D set_test_option("LOG_FILE", 1); } @@ -4458,31 +4519,7 @@ if (defined($opt{"LOG_FILE"})) { LOG->autoflush(1); } =20 -doprint "\n\nSTARTING AUTOMATED TESTS\n\n"; - -for (my $i =3D 0, my $repeat =3D 1; $i <=3D $opt{"NUM_TESTS"}; $i +=3D $re= peat) { - - if (!$i) { - doprint "DEFAULT OPTIONS:\n"; - } else { - doprint "\nTEST $i OPTIONS"; - if (defined($repeat_tests{$i})) { - $repeat =3D $repeat_tests{$i}; - doprint " ITERATE $repeat"; - } - doprint "\n"; - } - - foreach my $option (sort keys %opt) { - if ($option =3D~ /\[(\d+)\]$/) { - next if ($i !=3D $1); - } else { - next if ($i); - } - - doprint "$option =3D $opt{$option}\n"; - } -} +print_test_preamble 0; =20 $SIG{INT} =3D qw(cancel_test); =20 --=20 2.53.0