On Thu, Oct 09, 2025 at 09:28:56PM +0200, Stefano Brivio wrote:
On Thu, 9 Oct 2025 14:43:57 +1100 David Gibson
wrote: exeter() quoted ${__testid}, but in some places we use it there's an extra level of shell, which needs another layer of quoting. This breaks if testids include ';', which is quite common in exeter tests created as a composition/pipeline of two functions. Add the required extra quoting.
Signed-off-by: David Gibson
--- test/lib/exeter | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/lib/exeter b/test/lib/exeter index 3b19beaa..530c6909 100644 --- a/test/lib/exeter +++ b/test/lib/exeter @@ -47,9 +47,9 @@ exeter() { [ ${CI} -eq 1 ] && video_link "${1}"
for __testid in $($EXETOOL list -- "$@"); do - __desc="$($EXETOOL desc -- "$@" -- ${__testid})" + __desc="$($EXETOOL desc -- "$@" -- "${__testid}")" status_test_start "${__desc}" - context_run host "$@" "${__testid}" && status_test_ok || status_test_fail + context_run host "$* '${__testid}'" && status_test_ok || status_test_fail
Nit: for consistency, given that @ and * are variable names, I would enclose them in curly brackets as well, while at it.
Good point, done. -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson