From: Thomas Huth 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 --- v2: Use [[:blank:]]* as suggested by Claudio 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..4642cf95 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 -E -q '"event"[[:blank:]]*:[[:blank:]]*"GUEST_PANICKED"' ${qmp}.out ; then echo "FAIL: guest did not panic" ret=3 else -- 2.50.1