diff options
author | Kevin Wolf <kwolf@redhat.com> | 2018-03-14 13:29:46 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2018-03-21 15:13:25 +0100 |
commit | 49713c413a65ab4b02124aabe83f8539cc6ece5e (patch) | |
tree | f3ac721241db6cf99a17dc17e28df27a27670fab | |
parent | dbf2dce7aabb7723542bd182175904846d70b0f9 (diff) |
tests/multiboot: Test exit code for every qemu run
Testing the exit code only once after a whole group of tests has
completed is not enough, it catches errors only in the very last qemu
invocation. We need to have the check after each qemu run.
The logging and diff with the reference output is still done once per
group to keep things more managable. This is not a problem because the
log file accumulates the output of all runs.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Jack Schwartz <jack.schwartz@oracle.com>
-rwxr-xr-x | tests/multiboot/run_test.sh | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/multiboot/run_test.sh b/tests/multiboot/run_test.sh index 0278148b43..bc9c3670af 100755 --- a/tests/multiboot/run_test.sh +++ b/tests/multiboot/run_test.sh @@ -38,6 +38,17 @@ run_qemu() { ret=$? cat test.out >> test.log + + debugexit=$((ret & 0x1)) + ret=$((ret >> 1)) + + if [ $debugexit != 1 ]; then + printf %b "\e[31m ?? \e[0m $kernel $* (no debugexit used, exit code $ret)\n" + pass=0 + elif [ $ret != 0 ]; then + printf %b "\e[31mFAIL\e[0m $kernel $* (exit code $ret)\n" + pass=0 + fi } mmap() { @@ -61,19 +72,8 @@ make all for t in mmap modules; do echo > test.log - $t - - debugexit=$((ret & 0x1)) - ret=$((ret >> 1)) pass=1 - - if [ $debugexit != 1 ]; then - printf %b "\e[31m ?? \e[0m $t (no debugexit used, exit code $ret)\n" - pass=0 - elif [ $ret != 0 ]; then - printf %b "\e[31mFAIL\e[0m $t (exit code $ret)\n" - pass=0 - fi + $t if ! diff $t.out test.log > /dev/null 2>&1; then printf %b "\e[31mFAIL\e[0m $t (output difference)\n" |