From 8f09106e81ab5ead9d3cb61d000334068b33e04d Mon Sep 17 00:00:00 2001 From: James Knight Date: Tue, 1 Jul 2025 15:06:45 -0400 Subject: [PATCH] utils/test-pkg: stop on sigint When SIGINT is issued for a package test run, it will abort the active toolchain run then proceed to the next. If a user is running the entire default toolchain set (`-a`), they can be required to invoke SIGINT multiple times to stop a run. This commit uses a SIGINT hook to flag a shutdown state and stop further attempts to run anymore toolchain tests. Signed-off-by: James Knight Signed-off-by: Julien Olivain --- utils/test-pkg | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/utils/test-pkg b/utils/test-pkg index 19d8713d6a..cd77964252 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -3,6 +3,11 @@ set -e TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv' TEMP_CONF="" +abort=0 + +do_abort() { + abort=1 +} do_clean() { if [ -n "${TEMP_CONF}" ]; then @@ -67,7 +72,8 @@ main() { esac done - trap do_clean INT TERM HUP EXIT + trap do_abort INT + trap do_clean TERM HUP EXIT if [ -z "${cfg}" ]; then pkg_br_name="${pkg//-/_}" @@ -139,6 +145,10 @@ main() { (3) : $((nb_legal++)); printf "FAILED\n";; (4) : $((nb_show++)); printf "FAILED\n";; esac + + if [ "${abort}" -eq 1 ]; then + return 1 + fi done printf "%d builds, %d skipped, %d build failed, %d legal-info failed, %d show-info failed\n" \