diff options
author | Fred Sundvik <fsundvik@gmail.com> | 2016-08-25 11:25:27 +0300 |
---|---|---|
committer | Fred Sundvik <fsundvik@gmail.com> | 2016-08-27 21:57:49 +0300 |
commit | f4429ba48ca8346a208b711cd63e7413ac3efeff (patch) | |
tree | 05f28379f21357a9ea657cc698c475075fc4b8ce /Makefile | |
parent | 0a11460175d6a838c71343c19eb4ce4699936247 (diff) | |
download | qmk_firmware-f4429ba48ca8346a208b711cd63e7413ac3efeff.tar.gz qmk_firmware-f4429ba48ca8346a208b711cd63e7413ac3efeff.zip |
Running of unit tests
But only if the compilation has succeeded
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -28,6 +28,7 @@ ABS_ROOT_MAKEFILE := $(abspath $(ROOT_MAKEFILE)) ABS_STARTING_DIR := $(dir $(ABS_STARTING_MAKEFILE)) ABS_ROOT_DIR := $(dir $(ABS_ROOT_MAKEFILE)) STARTING_DIR := $(subst $(ABS_ROOT_DIR),,$(ABS_STARTING_DIR)) +TEST_DIR := $(ROOT_DIR)/.build/test MAKEFILE_INCLUDED=yes @@ -394,7 +395,10 @@ define BUILD fi; COMMAND_false_$$(COMMAND) := \ printf "$$(MAKE_MSG)\n\n"; \ - $$(MAKE_CMD) $$(MAKE_VARS) SILENT=false; + $$(MAKE_CMD) $$(MAKE_VARS) SILENT=false; \ + if [ $$$$? -gt 0 ]; \ + then error_occured=1; \ + fi; endef # Just parse all the keymaps for a specifc keyboard @@ -410,6 +414,7 @@ define BUILD_TEST MAKE_VARS := TEST=$$(TEST_NAME) MAKE_MSG := $$(MSG_MAKE_TEST) $$(eval $$(call BUILD)) + TESTS += $$(TEST_DIR)/$$(TEST_NAME).elf endef define PARSE_TEST @@ -464,8 +469,8 @@ $(SUBPROJECTS): %: %-allkm # But we return the error code at the end, to trigger travis failures +error_occured=0; \ $(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND)) \ - if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi - + if [ $$error_occured -gt 0 ]; then printf "$(MSG_ERRORS)" & exit $$error_occured; fi;\ + $(foreach TEST,$(TESTS),$(TEST)) # All should compile everything .PHONY: all |