aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.rules4
-rw-r--r--core/test/Makefile.check8
-rw-r--r--libflash/test/Makefile.check4
-rwxr-xr-xtest/hello_world/run_mambo_hello_world.sh16
-rwxr-xr-xtest/hello_world/run_qemu_hello_world.sh16
-rwxr-xr-xtest/run.sh16
-rwxr-xr-xtest/run_mambo_boot_test.sh18
7 files changed, 72 insertions, 10 deletions
diff --git a/Makefile.rules b/Makefile.rules
index ea52488..80121c3 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 0818092..b24bc21 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 b90c359..0351a64 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 ba28a21..1589bd0 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 3292178..9a85b3d 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 0000000..5185f5a
--- /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 8ae7fda..f398477 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