]> granicus.if.org Git - esp-idf/commitdiff
make: don’t override TEST_COMPONENTS
authorIvan Grokhotkov <ivan@espressif.com>
Thu, 9 Mar 2017 11:42:46 +0000 (19:42 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Thu, 9 Mar 2017 11:43:39 +0000 (19:43 +0800)
When idf_monitor is launched from make, it gets modified TEST_COMPONENTS
variable which contains full paths to the test components instead of the
names. This causes TEST_COMPONENT_PATHS to be empty and the unit test
app gets built without any test components.

This change introduces an internal TEST_COMPONENTS_LIST variable which
gets set either from $(COMPONENTS) if TESTS_ALL is 1, and from
TEST_COMOPONENTS otherwise.
Bootloader makefile is also fixed to avoid propagating TESTS_ALL to the
bootloader build step.

components/bootloader/Makefile.projbuild
make/project.mk

index 9e7b17b65fc7cda5d6cf80d9dfa9998115e78c68..be3ec5f88f12bc933353008c0346c4bc7bcef9c0 100644 (file)
@@ -23,7 +23,7 @@ BOOTLOADER_OFFSET := 0x1000
 
 # Custom recursive make for bootloader sub-project
 BOOTLOADER_MAKE=+$(MAKE) -C $(BOOTLOADER_COMPONENT_PATH)/src \
-       V=$(V) BUILD_DIR_BASE=$(BOOTLOADER_BUILD_DIR) TEST_COMPONENTS=
+       V=$(V) BUILD_DIR_BASE=$(BOOTLOADER_BUILD_DIR) TEST_COMPONENTS= TESTS_ALL=
 
 .PHONY: bootloader-clean bootloader-flash bootloader $(BOOTLOADER_BIN)
 
index d5a72c5d1c7555f6ebc4dc9d7d2aa7f698f12282..c2158b89d5b896c3d862fe5be6757274b3e5789d 100644 (file)
@@ -127,17 +127,16 @@ COMPONENT_PATHS += $(abspath $(SRCDIRS))
 # A component is buildable if it has a component.mk makefile in it
 COMPONENT_PATHS_BUILDABLE := $(foreach cp,$(COMPONENT_PATHS),$(if $(wildcard $(cp)/component.mk),$(cp)))
 
-# If TESTS_ALL set to 1, set TEST_COMPONENTS to all components
+# If TESTS_ALL set to 1, set TEST_COMPONENTS_LIST to all components
 ifeq ($(TESTS_ALL),1)
-TEST_COMPONENTS := $(COMPONENTS)
+TEST_COMPONENTS_LIST := $(COMPONENTS)
+else
+# otherwise, use TEST_COMPONENTS
+TEST_COMPONENTS_LIST := $(TEST_COMPONENTS)
 endif
+TEST_COMPONENT_PATHS := $(foreach comp,$(TEST_COMPONENTS_LIST),$(firstword $(foreach dir,$(COMPONENT_DIRS),$(wildcard $(dir)/$(comp)/test))))
+TEST_COMPONENT_NAMES :=  $(foreach comp,$(TEST_COMPONENT_PATHS),$(lastword $(subst /, ,$(dir $(comp))))_test)
 
-# If TEST_COMPONENTS is set, create variables for building unit tests
-ifdef TEST_COMPONENTS
-override TEST_COMPONENTS := $(foreach comp,$(TEST_COMPONENTS),$(firstword $(foreach dir,$(COMPONENT_DIRS),$(wildcard $(dir)/$(comp)/test))))
-TEST_COMPONENT_PATHS := $(TEST_COMPONENTS)
-TEST_COMPONENT_NAMES :=  $(foreach comp,$(TEST_COMPONENTS),$(lastword $(subst /, ,$(dir $(comp))))_test)
-endif
 
 # Initialise project-wide variables which can be added to by
 # each component.