From 7eefb34e7c4f162b9568ff880d0e4e5214e1b9c9 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sat, 27 Aug 2016 14:53:57 +0300 Subject: [PATCH] Detect failures when running multiple tests Also add better output. --- Makefile | 13 +++++++++++-- message.mk | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5f5c46860c..b7ef5f92a3 100644 --- a/Makefile +++ b/Makefile @@ -415,7 +415,15 @@ define BUILD_TEST MAKE_MSG := $$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf - TESTS += $$(TEST_EXECUTABLE) + TESTS += $$(TEST_NAME) + TEST_MSG := $$(MSG_TEST) + $$(TEST_NAME)_COMMAND := \ + printf "$$(TEST_MSG)\n"; \ + $$(TEST_EXECUTABLE); \ + if [ $$$$? -gt 0 ]; \ + then error_occured=1; \ + fi; \ + printf "\n"; endef define PARSE_TEST @@ -472,7 +480,8 @@ $(SUBPROJECTS): %: %-allkm +error_occured=0; \ $(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) \ if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi;\ - $(foreach TEST,$(TESTS),$(TEST);) + $(foreach TEST,$(TESTS),$($(TEST)_COMMAND)) \ + if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi;\ # All should compile everything .PHONY: all diff --git a/message.mk b/message.mk index 96814986b5..fa051fd712 100644 --- a/message.mk +++ b/message.mk @@ -76,3 +76,4 @@ define GENERATE_MSG_MAKE_TEST endif endef MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL) +MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR)