From f3be464f7ad6f1376e929010bce55950b6710632 Mon Sep 17 00:00:00 2001 From: Titouan Christophe Date: Thu, 8 May 2025 16:23:56 +0200 Subject: [PATCH] utils/test-pkg: add new option -T/--toolchain-name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recently when trying to reproduce a build error with test-pkg on the toolchain br-arm-basic, I had to create a new CSV file with that toolchain only to be able to run the test in that single case. I believe having a command-line option right away in test-pkg would make this much easier, as I can now run: `./utils/test-pkg -T br-arm-basic -p redis` Signed-off-by: Titouan Christophe Reviewed-by: Alex Bennée Tested-by: Alex Bennée Signed-off-by: Arnout Vandecappelle --- utils/test-pkg | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/utils/test-pkg b/utils/test-pkg index cd77964252..cea7ace7cb 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -22,8 +22,8 @@ main() { local -a toolchains local pkg_br_name - o='hakc:d:n:p:r:t:' - O='help,all,keep,prepare-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:' + o='hakc:d:n:p:r:t:T:' + O='help,all,keep,prepare-only,config-snippet:,build-dir:,number:,package:,random:,toolchains-csv:,toolchain-name:' opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")" eval set -- "${opts}" @@ -66,6 +66,9 @@ main() { (-t|--toolchains-csv) toolchains_csv="${2}"; shift 2 ;; + (-T|--toolchain-name) + toolchain_name="${2}"; shift 2 + ;; (--) shift; break ;; @@ -113,7 +116,9 @@ main() { # E.g.: http://server/path/to/name.config,arch,libc # --> http://server/path/to/name.config mapfile -t toolchains < <(sed -r -e 's/,.*//; /internal/d; /^#/d; /^$/d;' "${toolchains_csv}" \ - | if [ "${random}" -gt 0 ]; then \ + | if [ -n "${toolchain_name}" ]; then \ + grep -E "[/^]${toolchain_name}.config" + elif [ "${random}" -gt 0 ]; then \ sort -R | head -n "${random}" elif [ "${number}" -gt 0 ]; then \ head -n "${number}" @@ -288,6 +293,12 @@ Options: try. If not specified, the toolchains in ${TOOLCHAINS_CSV} will be used. + -T NAME, --toolchain-name NAME + Name of the single toolchain to use. It must be defined in the CSV + list of toolchains (see also -t / --toolchains-csv). If this option + is specified, then a single build will be performed on that + specific toolchain only. + -k, --keep Keep the build directories even if the build succeeds. Note: the logfile and configuration is always retained, even without