Message ID | 20250120164316.31473-9-alexandru.elisei@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm/arm64: Add kvmtool to the runner script | expand |
On Mon, Jan 20, 2025 at 04:43:06PM +0000, Alexandru Elisei wrote: > kvm-unit-tests assumes that if the VMM is able to get to where it tries to > load the kernel, then the VMM and the configuration parameters will also > work for running the test. All of this is done in premature_failure(). > > Teach premature_failure() about the kvmtool's error message when it fails > to load the dummy kernel. > > Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> > --- > scripts/runtime.bash | 21 +++++++++++++++------ > 1 file changed, 15 insertions(+), 6 deletions(-) > > diff --git a/scripts/runtime.bash b/scripts/runtime.bash > index 451b5585f010..ee8a188b22ce 100644 > --- a/scripts/runtime.bash > +++ b/scripts/runtime.bash > @@ -12,18 +12,27 @@ extract_summary() > 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 > +# We assume that the VMM is going to work if it tried to load the kernel > premature_failure() > { > local log > > log="$(eval "$(get_cmdline _NO_FILE_4Uhere_)" 2>&1)" > > - echo "$log" | grep "_NO_FILE_4Uhere_" | > - grep -q -e "[Cc]ould not \(load\|open\) kernel" \ > - -e "error loading" \ > - -e "failed to load" && > - return 1 > + case "$TARGET" in > + qemu) > + extra blank line here > + echo "$log" | grep "_NO_FILE_4Uhere_" | > + grep -q -e "[Cc]ould not \(load\|open\) kernel" \ > + -e "error loading" \ > + -e "failed to load" && > + return 1 > + ;; > + kvmtool) > + echo "$log" | grep "Fatal: Unable to open kernel _NO_FILE_4Uhere_" && > + return 1 > + ;; > + esac This looks good, but could possibly become eval echo "$log" | ${vmm_opts[$TARGET,premature_failure]} && return 1 if we got the vmm_opts route. Thanks, drew > > RUNTIME_log_stderr <<< "$log" > > -- > 2.47.1 > > > -- > kvm-riscv mailing list > kvm-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kvm-riscv
diff --git a/scripts/runtime.bash b/scripts/runtime.bash index 451b5585f010..ee8a188b22ce 100644 --- a/scripts/runtime.bash +++ b/scripts/runtime.bash @@ -12,18 +12,27 @@ extract_summary() 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 +# We assume that the VMM is going to work if it tried to load the kernel premature_failure() { local log log="$(eval "$(get_cmdline _NO_FILE_4Uhere_)" 2>&1)" - echo "$log" | grep "_NO_FILE_4Uhere_" | - grep -q -e "[Cc]ould not \(load\|open\) kernel" \ - -e "error loading" \ - -e "failed to load" && - return 1 + case "$TARGET" in + qemu) + + echo "$log" | grep "_NO_FILE_4Uhere_" | + grep -q -e "[Cc]ould not \(load\|open\) kernel" \ + -e "error loading" \ + -e "failed to load" && + return 1 + ;; + kvmtool) + echo "$log" | grep "Fatal: Unable to open kernel _NO_FILE_4Uhere_" && + return 1 + ;; + esac RUNTIME_log_stderr <<< "$log"
kvm-unit-tests assumes that if the VMM is able to get to where it tries to load the kernel, then the VMM and the configuration parameters will also work for running the test. All of this is done in premature_failure(). Teach premature_failure() about the kvmtool's error message when it fails to load the dummy kernel. Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com> --- scripts/runtime.bash | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-)