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 |