[kvm-unit-tests PATCH v10 12/15] scripts/arch-run.bash: Fix run_panic() success exit status
Nicholas Piggin
npiggin at gmail.com
Fri Jun 14 10:56:02 AEST 2024
On Wed Jun 12, 2024 at 5:26 PM AEST, Andrew Jones wrote:
> On Wed, Jun 12, 2024 at 03:23:17PM GMT, Nicholas Piggin wrote:
> > run_qemu_status() looks for "EXIT: STATUS=%d" if the harness command
> > returned 1, to determine the final status of the test. In the case of
> > panic tests, QEMU should terminate before successful exit status is
> > known, so the run_panic() command must produce the "EXIT: STATUS" line.
> >
> > With this change, running a panic test returns 0 on success (panic),
> > and the run_test.sh unit test correctly displays it as PASS rather than
> > FAIL.
> >
> > Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
> > ---
> > scripts/arch-run.bash | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
> > index 8643bab3b..9bf2f0bbd 100644
> > --- a/scripts/arch-run.bash
> > +++ b/scripts/arch-run.bash
> > @@ -378,6 +378,7 @@ run_panic ()
> > else
> > # some QEMU versions report multiple panic events
> > echo "PASS: guest panicked"
> > + echo "EXIT: STATUS=1"
> > ret=1
> > fi
> >
> > --
> > 2.45.1
> >
>
> Do we also need an 'echo "EXIT: STATUS=3"' in the if-arm of this if-else?
In that case we don't need it because run_panic() returns 3 in that
case. run_qemu_status() only checks guest status if harness said
QEMU ran successfully.
Arguably this is a bit hacky because "EXIT: STATUS" should really be
a guest-printed status, and we would have a different success code
for expected-QEMU-crash type of tests where guest can't provide status.
I can do that incrementally after this if you like, but it's a bit
more code.
Thanks,
Nick
More information about the Linuxppc-dev
mailing list