[kvm-unit-tests PATCH v8 15/35] scripts: Accommodate powerpc powernv machine differences

Nicholas Piggin
2024-04-05T08:36:47Z

The QEMU powerpc powernv machine has minor differences that must be
accommodated for in output parsing:

- Summary parsing must search more lines of output for the summary
line, to accommodate OPAL message on shutdown.
- Premature failure testing must tolerate case differences in kernel
load error message.

Acked-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
powerpc/unittests.cfg | 1 +
scripts/runtime.bash | 6 ++++--
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg
index 432c81d58..4929e71a1 100644
--- a/powerpc/unittests.cfg
+++ b/powerpc/unittests.cfg
@@ -4,6 +4,7 @@
# powerpc specifics:
#
# file = <name>.elf # powerpc uses .elf files
+# machine = pseries|powernv
##############################################################################

#
diff --git a/scripts/runtime.bash b/scripts/runtime.bash
index a66940ead..e4ad1962f 100644
--- a/scripts/runtime.bash
+++ b/scripts/runtime.bash
@@ -9,7 +9,7 @@ FAIL() { echo -ne "\e[31mFAIL\e[0m"; }
extract_summary()
{
local cr=$'\r'
- tail -3 | grep '^SUMMARY: ' | sed 's/^SUMMARY: /(/;s/'"$cr"'\{0,1\}$/)/'
+ tail -5 | grep '^SUMMARY: ' | sed 's/^SUMMARY: /(/;s/'"$cr"'\{0,1\}$/)/'
}

# We assume that QEMU is going to work if it tried to load the kernel
@@ -18,7 +18,9 @@ premature_failure()
local log="$(eval "$(get_cmdline _NO_FILE_4Uhere_)" 2>&1)"

echo "$log" | grep "_NO_FILE_4Uhere_" |
- grep -q -e "could not \(load\|open\) kernel" -e "error loading" -e "failed to load" &&
+ grep -q -e "[Cc]ould not \(load\|open\) kernel" \
+ -e "error loading" \
+ -e "failed to load" &&
return 1

RUNTIME_log_stderr <<< "$log"
--
2.43.0