Browse Source

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>
pull/66/merge
Kevin Wolf 8 years ago
parent
commit
49713c413a
  1. 24
      tests/multiboot/run_test.sh

24
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"

Loading…
Cancel
Save