On Thu, 24 Jul 2025 15:30:51 +0200 Thomas Huth <thuth@xxxxxxxxxx> wrote: > From: Thomas Huth <thuth@xxxxxxxxxx> > > For checking whether a panic event occurred, a simple "grep" > for the related text in the output is enough - it's very unlikely > that the output of QEMU will change. This way we can drop the > dependency on the program "jq" which might not be installed on > some systems. > > Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> > --- > Marked as "RFC" since I'm a little bit torn here - on the one side, > it's great to get rid of a dependency, on the other side, using > grep might be a little bit less robust in case QEMU ever changes > the layout of it's QMP output... I share your concerns, but I'm also in favour of removing a relatively uncommon dependency > > scripts/arch-run.bash | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash > index 58e4f93f..5abf2626 100644 > --- a/scripts/arch-run.bash > +++ b/scripts/arch-run.bash > @@ -287,11 +287,6 @@ do_migration () > > run_panic () > { > - if ! command -v jq >/dev/null 2>&1; then > - echo "${FUNCNAME[0]} needs jq" >&2 > - return 77 > - fi > - > trap 'trap - TERM ; kill 0 ; exit 2' INT TERM > trap 'rm -f ${qmp}.in ${qmp}.out' RETURN EXIT > > @@ -303,8 +298,7 @@ run_panic () > -mon chardev=mon,mode=control -S & > echo '{ "execute": "qmp_capabilities" }{ "execute": "cont" }' > ${qmp}.in > > - panic_event_count=$(jq -c 'select(.event == "GUEST_PANICKED")' < ${qmp}.out | wc -l) > - if [ "$panic_event_count" -lt 1 ]; then > + if ! grep -q '"event": "GUEST_PANICKED"' ${qmp}.out ; then maybe: grep -E -q '"event"[[:blank:]]*:[[:blank:]]*"GUEST PANICKED"' ... > echo "FAIL: guest did not panic" > ret=3 > else