From 2ceb8b8c0ac53a9014e83d12e1c758d5f9e07fe6 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Tue, 12 Jul 2016 18:59:27 +1000 Subject: make check: make test runs less noisy Run a small wrapper around some unit tests with the QTEST makefile macro (QTEST=Quiet TEST). Also, wrap boot tests in mambo and qemu to be quiet by default. Both ./test/run.sh and the modified mambo/qemu test runner scripts output full stdout and stderr in the event of error. Signed-off-by: Stewart Smith --- Makefile.rules | 4 ++++ core/test/Makefile.check | 8 ++++---- libflash/test/Makefile.check | 4 ++-- test/hello_world/run_mambo_hello_world.sh | 16 +++++++++++++++- test/hello_world/run_qemu_hello_world.sh | 16 +++++++++++++++- test/run.sh | 16 ++++++++++++++++ test/run_mambo_boot_test.sh | 18 ++++++++++++++++-- 7 files changed, 72 insertions(+), 10 deletions(-) create mode 100755 test/run.sh 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 <&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 <&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 <&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 -- cgit v1.1