diff options
-rw-r--r-- | Makefile.rules | 4 | ||||
-rw-r--r-- | core/test/Makefile.check | 8 | ||||
-rw-r--r-- | libflash/test/Makefile.check | 4 | ||||
-rwxr-xr-x | test/hello_world/run_mambo_hello_world.sh | 16 | ||||
-rwxr-xr-x | test/hello_world/run_qemu_hello_world.sh | 16 | ||||
-rwxr-xr-x | test/run.sh | 16 | ||||
-rwxr-xr-x | test/run_mambo_boot_test.sh | 18 |
7 files changed, 72 insertions, 10 deletions
diff --git a/Makefile.rules b/Makefile.rules index ea524886..80121c33 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -25,6 +25,10 @@ endef endif endif +define QTEST + $(call Q,$1, ./test/run.sh $2, $3) +endef + define cook_aflags $(filter-out $(AFLAGS_SKIP_$(1)), $(CPPFLAGS) $(AFLAGS)) $(AFLAGS_$(1)) endef diff --git a/core/test/Makefile.check b/core/test/Makefile.check index 08180925..b24bc21f 100644 --- a/core/test/Makefile.check +++ b/core/test/Makefile.check @@ -36,16 +36,16 @@ check: core-check coverage: core-coverage $(CORE_TEST:%=%-gcov-run) : %-run: % - $(call Q, TEST-COVERAGE ,$< , $<) + $(call QTEST, TEST-COVERAGE ,$< , $<) $(CORE_TEST_NOSTUB:%=%-gcov-run) : %-run: % - $(call Q, TEST-COVERAGE ,$< , $<) + $(call QTEST, TEST-COVERAGE ,$< , $<) $(CORE_TEST:%=%-check) : %-check: % - $(call Q, RUN-TEST ,$(VALGRIND) $<, $<) + $(call QTEST, RUN-TEST ,$(VALGRIND) $<, $<) $(CORE_TEST_NOSTUB:%=%-check) : %-check: % - $(call Q, RUN-TEST ,$(VALGRIND) $<, $<) + $(call QTEST, RUN-TEST ,$(VALGRIND) $<, $<) core/test/stubs.o: core/test/stubs.c $(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) -g -c -o $@ $<, $<) diff --git a/libflash/test/Makefile.check b/libflash/test/Makefile.check index b90c359e..0351a642 100644 --- a/libflash/test/Makefile.check +++ b/libflash/test/Makefile.check @@ -11,10 +11,10 @@ check: libflash-check libc-coverage coverage: libflash-coverage $(LIBFLASH_TEST:%=%-gcov-run) : %-run: % - $(call Q, TEST-COVERAGE ,$< , $<) + $(call QTEST, TEST-COVERAGE ,$< , $<) $(LIBFLASH_TEST:%=%-check) : %-check: % - $(call Q, RUN-TEST ,$(VALGRIND) $<, $<) + $(call QTEST, RUN-TEST ,$(VALGRIND) $<, $<) libflash/test/stubs.o: libflash/test/stubs.c $(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) -g -c -o $@ $<, $<) diff --git a/test/hello_world/run_mambo_hello_world.sh b/test/hello_world/run_mambo_hello_world.sh index ba28a216..1589bd03 100755 --- a/test/hello_world/run_mambo_hello_world.sh +++ b/test/hello_world/run_mambo_hello_world.sh @@ -31,6 +31,10 @@ export SKIBOOT_ZIMAGE=`pwd`/test/hello_world/hello_kernel/hello_kernel OLD_ULIMIT_C=`ulimit -c` ulimit -c 0 +t=$(tempfile) || exit 1 + +trap "rm -f -- '$t'" EXIT + ( cd external/mambo; cat <<EOF | expect set timeout 30 @@ -43,7 +47,17 @@ eof { send_user "\nUnexpected EOF\n;" exit 1 } wait exit 0 EOF -) +) 2>&1 > $t + +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + ulimit -c $OLD_ULIMIT_C + echo +rm -f -- "$t" +trap - EXIT exit 0; diff --git a/test/hello_world/run_qemu_hello_world.sh b/test/hello_world/run_qemu_hello_world.sh index 32921785..9a85b3d7 100755 --- a/test/hello_world/run_qemu_hello_world.sh +++ b/test/hello_world/run_qemu_hello_world.sh @@ -27,6 +27,9 @@ fi export SKIBOOT_ZIMAGE=`pwd`/test/hello_world/hello_kernel/hello_kernel +t=$(tempfile) || exit 1 + +trap "rm -f -- '$t'" EXIT ( cat <<EOF | expect @@ -41,5 +44,16 @@ close wait exit 0 EOF -) +) 2>&1 > $t + +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + +echo +rm -f -- "$t" +trap - EXIT + exit 0; diff --git a/test/run.sh b/test/run.sh new file mode 100755 index 00000000..5185f5ab --- /dev/null +++ b/test/run.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +t=$(tempfile) || exit 1 + +trap "rm -f -- '$t'" EXIT + +$* 2>&1 > $t +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + +rm -f -- "$t" +trap - EXIT +exit 0 diff --git a/test/run_mambo_boot_test.sh b/test/run_mambo_boot_test.sh index 8ae7fdab..f3984778 100755 --- a/test/run_mambo_boot_test.sh +++ b/test/run_mambo_boot_test.sh @@ -41,6 +41,10 @@ fi OLD_ULIMIT_C=`ulimit -c` ulimit -c 0 +t=$(tempfile) || exit 1 + +trap "rm -f -- '$t'" EXIT + ( cd external/mambo; cat <<EOF | expect set timeout 600 @@ -53,7 +57,17 @@ eof { send_user "\nUnexpected EOF\n;" exit 1 } wait exit 0 EOF -) +) 2>&1 > $t + +r=$? +if [ $r != 0 ]; then + cat $t + exit $r +fi + ulimit -c $OLD_ULIMIT_C + echo -exit 0; +rm -f -- "$t" +trap - EXIT +exit 0 |