~ruther/qmk_firmware

72ce2655aa4eb6bb6a84b1bca49d1a9a7d572faa — Joel Challis 1 year, 2 months ago 5c5ddeb
Fix unit test execution (#23048)

1 files changed, 15 insertions(+), 12 deletions(-)

M Makefile
M Makefile => Makefile +15 -12
@@ 337,24 337,23 @@ define BUILD_TEST
    endif
endef

define LIST_TEST
    include $(BUILDDEFS_PATH)/testlist.mk
    FOUND_TESTS := $$(patsubst ./tests/%,%,$$(TEST_LIST))
    $$(info $$(FOUND_TESTS))
endef

define PARSE_TEST
    TESTS :=
    # list of possible targets, colon-delimited, to reassign to MAKE_TARGET and remove
    TARGETS := :clean:
    ifneq (,$$(findstring :$$(lastword $$(subst :, ,$$(RULE))):, $$(TARGETS)))
        MAKE_TARGET := $$(lastword $$(subst :, ,$$(RULE)))
        TEST_SUBPATH := $$(subst $$(eval) ,/,$$(wordlist 2, $$(words $$(subst :, ,$$(RULE))), _ $$(subst :, ,$$(RULE))))
    else
        MAKE_TARGET :=
        TEST_SUBPATH := $$(subst :,/,$$(RULE))
    endif
    TEST_NAME := $$(firstword $$(subst :, ,$$(RULE)))
    TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE)))
    include $(BUILDDEFS_PATH)/testlist.mk
    ifeq ($$(RULE),all)
    ifeq ($$(TEST_NAME),all)
        MATCHED_TESTS := $$(TEST_LIST)
    else
        MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring /$$(TEST_SUBPATH)/, $$(patsubst %,%/,$$(TEST))), $$(TEST),))
        MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring x$$(TEST_NAME)x, x$$(patsubst ./tests/%,%,$$(TEST)x)), $$(TEST),))
    endif
    $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(MAKE_TARGET))))
    $$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET))))
endef




@@ 437,6 436,10 @@ git-submodules: git-submodule
list-keyboards:
	$(QMK_BIN) list-keyboards --no-resolve-defaults | tr '\n' ' '

.PHONY: list-tests
list-tests:
	$(eval $(call LIST_TEST))

.PHONY: generate-keyboards-file
generate-keyboards-file:
	$(QMK_BIN) list-keyboards --no-resolve-defaults

Do not follow this link