arch-run: reduce return code ambiguity
qemu/unittest exit codes are convoluted, causing codes 0 and 1
to be ambiguous. Here are the possible meanings
.-----------------------------------------------------------------.
| | 0 | 1 |
|-----------------------------------------------------------------|
| QEMU | did something successfully, | FAILURE |
| | but probably didn't run the | |
| | unittest, OR caught SIGINT, | |
| | SIGHUP, or SIGTERM | |
|-----------------------------------------------------------------|
| unittest | for some reason exited using | SUCCESS |
| | ACPI/PSCI, not with debug-exit | |
.-----------------------------------------------------------------.
As we can see above, an exit code of zero is even ambiguous for each
row, i.e. QEMU could exit with zero because it successfully completed,
or because it caught a signal. unittest could exit with zero because
it successfully powered-off, or because for some odd reason it powered-
off instead of calling debug-exit.
And, the most fun is that exit-code == 1 means QEMU failed, but the
unittest succeeded.
This patch attempts to reduce that ambiguity, by also looking at stderr.
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Radim KrÄmář <rkrcmar@redhat.com>
Message-Id: <1456939982-13178-4-git-send-email-drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/scripts/runtime.bash b/scripts/runtime.bash
index 04adb9d..9c973f2 100644
--- a/scripts/runtime.bash
+++ b/scripts/runtime.bash
@@ -48,7 +48,7 @@
eval $cmdline
ret=$?
- if [ $ret -le 1 ]; then
+ if [ $ret -eq 0 ]; then
echo -e "\e[32mPASS\e[0m $1"
else
echo -e "\e[31mFAIL\e[0m $1"