aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2016-08-27 18:01:59 +0300
committerFred Sundvik <fsundvik@gmail.com>2016-08-27 21:57:49 +0300
commit1b963117fedf91e4bef97d75eb4e3e0b3b1e1dfd (patch)
tree2bccc6a05c75e0255f0cb2565261282a85bedcf3
parent42baa6cf43ab1da79887e74b9ad71379c13094f9 (diff)
downloadqmk_firmware-1b963117fedf91e4bef97d75eb4e3e0b3b1e1dfd.tar.gz
qmk_firmware-1b963117fedf91e4bef97d75eb4e3e0b3b1e1dfd.zip
Support for running and cleaning all tests
-rw-r--r--Makefile33
1 files changed, 22 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index b7ef5f92a..78bf50ed4 100644
--- a/Makefile
+++ b/Makefile
@@ -414,23 +414,29 @@ define BUILD_TEST
414 MAKE_VARS := TEST=$$(TEST_NAME) 414 MAKE_VARS := TEST=$$(TEST_NAME)
415 MAKE_MSG := $$(MSG_MAKE_TEST) 415 MAKE_MSG := $$(MSG_MAKE_TEST)
416 $$(eval $$(call BUILD)) 416 $$(eval $$(call BUILD))
417 TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf 417 ifneq ($$(MAKE_TARGET),clean)
418 TESTS += $$(TEST_NAME) 418 TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf
419 TEST_MSG := $$(MSG_TEST) 419 TESTS += $$(TEST_NAME)
420 $$(TEST_NAME)_COMMAND := \ 420 TEST_MSG := $$(MSG_TEST)
421 printf "$$(TEST_MSG)\n"; \ 421 $$(TEST_NAME)_COMMAND := \
422 $$(TEST_EXECUTABLE); \ 422 printf "$$(TEST_MSG)\n"; \
423 if [ $$$$? -gt 0 ]; \ 423 $$(TEST_EXECUTABLE); \
424 then error_occured=1; \ 424 if [ $$$$? -gt 0 ]; \
425 fi; \ 425 then error_occured=1; \
426 printf "\n"; 426 fi; \
427 printf "\n";
428 endif
427endef 429endef
428 430
429define PARSE_TEST 431define PARSE_TEST
430 TESTS := 432 TESTS :=
431 TEST_NAME := $$(firstword $$(subst -, ,$$(RULE))) 433 TEST_NAME := $$(firstword $$(subst -, ,$$(RULE)))
432 TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME)-,,$$(RULE))) 434 TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME)-,,$$(RULE)))
433 MATCHED_TESTS := $$(foreach TEST,$$(TEST_LIST),$$(if $$(findstring $$(TEST_NAME),$$(TEST)),$$(TEST),)) 435 ifeq ($$(TEST_NAME),all)
436 MATCHED_TESTS := $$(TEST_LIST)
437 else
438 MATCHED_TESTS := $$(foreach TEST,$$(TEST_LIST),$$(if $$(findstring $$(TEST_NAME),$$(TEST)),$$(TEST),))
439 endif
434 $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET)))) 440 $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET))))
435endef 441endef
436 442
@@ -494,6 +500,11 @@ all-keyboards: allkb-allsp-allkm
494.PHONY: all-keyboards-defaults 500.PHONY: all-keyboards-defaults
495all-keyboards-defaults: allkb-allsp-default 501all-keyboards-defaults: allkb-allsp-default
496 502
503.PHONY: test
504test: test-all
505
506.PHONY: test-clean
507test-clean: test-all-clean
497 508
498# Generate the version.h file 509# Generate the version.h file
499GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") 510GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")