Re: [kvm-unit-tests PATCH 17/32] arch-run: Fix handling multiple exit status messages
On Mon, Feb 26, 2024 at 08:12:03PM +1000, Nicholas Piggin wrote: > In SMP tests, it's possible for multiple CPUs to print an exit > message if they abort concurrently, confusing the harness: > > EXIT: STATUS=127 > > EXIT: STATUS=127 > scripts/arch-run.bash: line 85: [: too many arguments > scripts/arch-run.bash: line 93: return: too many arguments > > lib/arch code should probably serialise this to prevent it, but > at the moment not all do. So make the parser handle this by > just looking at the first EXIT. > > Cc: Paolo Bonzini > Cc: Thomas Huth > Cc: Andrew Jones > Cc: k...@vger.kernel.org > Signed-off-by: Nicholas Piggin > --- > scripts/arch-run.bash | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash > index 5c7e72036..4af670f1c 100644 > --- a/scripts/arch-run.bash > +++ b/scripts/arch-run.bash > @@ -79,7 +79,7 @@ run_qemu_status () > exec {stdout}>&- > > if [ $ret -eq 1 ]; then > - testret=$(grep '^EXIT: ' <<<"$lines" | sed > 's/.*STATUS=\([0-9][0-9]*\).*/\1/') > + testret=$(grep '^EXIT: ' <<<"$lines" | head -n1 | sed > 's/.*STATUS=\([0-9][0-9]*\).*/\1/') > if [ "$testret" ]; then > if [ $testret -eq 1 ]; then > ret=0 > -- > 2.42.0 > Acked-by: Andrew Jones
[kvm-unit-tests PATCH 17/32] arch-run: Fix handling multiple exit status messages
In SMP tests, it's possible for multiple CPUs to print an exit message if they abort concurrently, confusing the harness: EXIT: STATUS=127 EXIT: STATUS=127 scripts/arch-run.bash: line 85: [: too many arguments scripts/arch-run.bash: line 93: return: too many arguments lib/arch code should probably serialise this to prevent it, but at the moment not all do. So make the parser handle this by just looking at the first EXIT. Cc: Paolo Bonzini Cc: Thomas Huth Cc: Andrew Jones Cc: k...@vger.kernel.org Signed-off-by: Nicholas Piggin --- scripts/arch-run.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash index 5c7e72036..4af670f1c 100644 --- a/scripts/arch-run.bash +++ b/scripts/arch-run.bash @@ -79,7 +79,7 @@ run_qemu_status () exec {stdout}>&- if [ $ret -eq 1 ]; then - testret=$(grep '^EXIT: ' <<<"$lines" | sed 's/.*STATUS=\([0-9][0-9]*\).*/\1/') + testret=$(grep '^EXIT: ' <<<"$lines" | head -n1 | sed 's/.*STATUS=\([0-9][0-9]*\).*/\1/') if [ "$testret" ]; then if [ $testret -eq 1 ]; then ret=0 -- 2.42.0