On Fri, Jun 14, 2024 at 10:56:02AM GMT, Nicholas Piggin wrote: > 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@xxxxxxxxx> > > > --- > > > 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. Ah, yes. > > 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. Just this patch for now works for me. Thanks, drew