make-rules/setup.py.mk
changeset 4091 fca9099ab398
parent 3998 5bd484384122
child 4252 891a844655c4
equal deleted inserted replaced
4089:1788e52b3086 4091:fca9099ab398
    69 PYTHON_ENV +=	PATH="$(PATH):$(SPRO_VROOT)/bin"
    69 PYTHON_ENV +=	PATH="$(PATH):$(SPRO_VROOT)/bin"
    70 
    70 
    71 COMPONENT_BUILD_ENV += $(PYTHON_ENV)
    71 COMPONENT_BUILD_ENV += $(PYTHON_ENV)
    72 COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
    72 COMPONENT_INSTALL_ENV += $(PYTHON_ENV)
    73 COMPONENT_TEST_ENV += $(PYTHON_ENV)
    73 COMPONENT_TEST_ENV += $(PYTHON_ENV)
       
    74 COMPONENT_SYSTEM_TEST_ENV += $(PYTHON_ENV)
    74 
    75 
    75 # If we are building Python 2.7 or 3.4 support, build them and install them
    76 # If we are building Python 2.7 or 3.4 support, build them and install them
    76 # before Python 2.6, so 2.6 is installed last and is the canonical version.
    77 # before Python 2.6, so 2.6 is installed last and is the canonical version.
    77 # When we change the default, the new default should go last.
    78 # When we change the default, the new default should go last.
    78 ifneq ($(findstring 2.7,$(PYTHON_VERSIONS)),)
    79 ifneq ($(findstring 2.7,$(PYTHON_VERSIONS)),)
   133 COMPONENT_TEST_ENV_CMD =	$(ENV)
   134 COMPONENT_TEST_ENV_CMD =	$(ENV)
   134 COMPONENT_TEST_ENV +=	PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES)
   135 COMPONENT_TEST_ENV +=	PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES)
   135 COMPONENT_TEST_CMD =	$(PYTHON)
   136 COMPONENT_TEST_CMD =	$(PYTHON)
   136 COMPONENT_TEST_ARGS +=	./runtests.py
   137 COMPONENT_TEST_ARGS +=	./runtests.py
   137 
   138 
       
   139 COMPONENT_SYSTEM_TEST_DEP =	$(SOURCE_DIR)/.prep
       
   140 COMPONENT_SYSTEM_TEST_DIR =	$(COMPONENT_SRC)/test
       
   141 COMPONENT_SYSTEM_TEST_ENV_CMD =	$(ENV)
       
   142 COMPONENT_SYSTEM_TEST_ENV +=	PYTHONPATH=$(PROTO_DIR)$(PYTHON_VENDOR_PACKAGES)
       
   143 COMPONENT_SYSTEM_TEST_CMD =	$(PYTHON)
       
   144 COMPONENT_SYSTEM_TEST_ARGS +=	./runtests.py
       
   145 
   138 # determine the type of tests we want to run.
   146 # determine the type of tests we want to run.
   139 ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
   147 ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
   140 TEST_32 = $(PYTHON2_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested)
   148 TEST_32 = $(PYTHON2_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.tested)
   141 TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested)
   149 TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested)
   142 TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested)
   150 TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested)
   145 TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared)
   153 TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.tested-and-compared)
   146 TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested-and-compared)
   154 TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.tested-and-compared)
   147 endif
   155 endif
   148 ifeq ($(PYTHON_VERSION),3.4)
   156 ifeq ($(PYTHON_VERSION),3.4)
   149 TEST_32_and_64 = $(TEST_64)
   157 TEST_32_and_64 = $(TEST_64)
       
   158 endif
       
   159 ifeq ($(strip $(wildcard $(COMPONENT_SYSTEM_TEST_RESULTS_DIR)/results-*.master)),)
       
   160 SYSTEM_TEST_32 = $(PYTHON2_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.system-tested)
       
   161 SYSTEM_TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.system-tested)
       
   162 SYSTEM_TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.system-tested)
       
   163 else
       
   164 SYSTEM_TEST_32 = $(PYTHON2_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.system-tested-and-compared)
       
   165 SYSTEM_TEST_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.system-tested-and-compared)
       
   166 SYSTEM_TEST_NO_ARCH = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH)-%/.system-tested-and-compared)
       
   167 endif
       
   168 ifeq ($(PYTHON_VERSION),3.4)
       
   169 SYSTEM_TEST_32_and_64 = $(SYSTEM_TEST_64)
   150 endif
   170 endif
   151 
   171 
   152 # test the built source
   172 # test the built source
   153 $(BUILD_DIR)/%/.tested-and-compared:    $(COMPONENT_TEST_DEP)
   173 $(BUILD_DIR)/%/.tested-and-compared:    $(COMPONENT_TEST_DEP)
   154 	$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
   174 	$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
   172 		$(COMPONENT_TEST_CMD) $(COMPONENT_TEST_ARGS))
   192 		$(COMPONENT_TEST_CMD) $(COMPONENT_TEST_ARGS))
   173 	$(COMPONENT_POST_TEST_ACTION)
   193 	$(COMPONENT_POST_TEST_ACTION)
   174 	$(COMPONENT_TEST_CLEANUP)
   194 	$(COMPONENT_TEST_CLEANUP)
   175 	$(TOUCH) $@
   195 	$(TOUCH) $@
   176 
   196 
       
   197 # test the installed system
       
   198 $(BUILD_DIR)/%/.system-tested-and-compared:    $(COMPONENT_SYSTEM_TEST_DEP)
       
   199 	$(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
       
   200 	$(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
       
   201 	$(COMPONENT_PRE_SYSTEM_TEST_ACTION)
       
   202 	-(cd $(COMPONENT_SYSTEM_TEST_DIR) ; \
       
   203 		$(COMPONENT_SYSTEM_TEST_ENV_CMD) $(COMPONENT_SYSTEM_TEST_ENV) \
       
   204 		$(COMPONENT_SYSTEM_TEST_CMD) $(COMPONENT_SYSTEM_TEST_ARGS)) \
       
   205 		&> $(COMPONENT_TEST_OUTPUT)
       
   206 	$(COMPONENT_POST_SYSTEM_TEST_ACTION)
       
   207 	$(COMPONENT_TEST_CREATE_TRANSFORMS)
       
   208 	$(COMPONENT_TEST_PERFORM_TRANSFORM)
       
   209 	$(COMPONENT_TEST_COMPARE)
       
   210 	$(COMPONENT_SYSTEM_TEST_CLEANUP)
       
   211 	$(TOUCH) $@
       
   212 
       
   213 $(BUILD_DIR)/%/.system-tested:    $(COMPONENT_SYSTEM_TEST_DEP)
       
   214 	$(COMPONENT_PRE_SYSTEM_TEST_ACTION)
       
   215 	(cd $(COMPONENT_SYSTEM_TEST_DIR) ; \
       
   216 		$(COMPONENT_SYSTEM_TEST_ENV_CMD) $(COMPONENT_SYSTEM_TEST_ENV) \
       
   217 		$(COMPONENT_SYSTEM_TEST_CMD) $(COMPONENT_SYSTEM_TEST_ARGS))
       
   218 	$(COMPONENT_POST_SYSTEM_TEST_ACTION)
       
   219 	$(COMPONENT_SYSTEM_TEST_CLEANUP)
       
   220 	$(TOUCH) $@
       
   221 
   177 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
   222 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
   178 parfait: build
   223 parfait: build
   179 else
   224 else
   180 parfait:
   225 parfait:
   181 	$(MAKE) PARFAIT_BUILD=yes parfait
   226 	$(MAKE) PARFAIT_BUILD=yes parfait