Bug 886173 - Preserve playbackRate across pause/play. r=cpearce
[gecko.git] / testing / testsuite-targets.mk
blobcafc02e25b08e5cf047f5e8190a482ace423e59d
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 # Shortcut for mochitest* and xpcshell-tests targets,
7 # replaces 'EXTRA_TEST_ARGS=--test-path=...'.
8 ifdef TEST_PATH
9 TEST_PATH_ARG := --test-path="$(TEST_PATH)"
10 PEPTEST_PATH_ARG := --test-path="$(TEST_PATH)"
11 IPCPLUGINS_PATH_ARG := --test-path="$(TEST_PATH)"
12 else
13 TEST_PATH_ARG :=
14 PEPTEST_PATH_ARG := --test-path=_tests/peptest/tests/firefox/firefox_all.ini
15 IPCPLUGINS_PATH_ARG := --test-path=dom/plugins/test
16 endif
18 # include automation-build.mk to get the path to the binary
19 TARGET_DEPTH = $(DEPTH)
20 include $(topsrcdir)/build/binary-location.mk
22 SYMBOLS_PATH := --symbols-path=$(DIST)/crashreporter-symbols
24 # Usage: |make [TEST_PATH=...] [EXTRA_TEST_ARGS=...] mochitest*|.
25 MOCHITESTS := mochitest-plain mochitest-chrome mochitest-a11y mochitest-ipcplugins
26 mochitest:: $(MOCHITESTS)
28 ifndef TEST_PACKAGE_NAME
29 TEST_PACKAGE_NAME := $(ANDROID_PACKAGE_NAME)
30 endif
32 RUN_MOCHITEST_B2G_DESKTOP = \
33 rm -f ./$@.log && \
34 $(PYTHON) _tests/testing/mochitest/runtestsb2g.py --autorun --close-when-done \
35 --console-level=INFO --log-file=./$@.log --file-level=INFO \
36 --desktop --profile ${GAIA_PROFILE_DIR} \
37 --failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
38 $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
40 RUN_MOCHITEST = \
41 rm -f ./$@.log && \
42 $(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
43 --console-level=INFO --log-file=./$@.log --file-level=INFO \
44 --failure-file=$(call core_abspath,_tests/testing/mochitest/makefailures.json) \
45 --testing-modules-dir=$(call core_abspath,_tests/modules) \
46 --extra-profile-file=$(DIST)/plugins \
47 $(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
49 RERUN_MOCHITEST = \
50 rm -f ./$@.log && \
51 $(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done \
52 --console-level=INFO --log-file=./$@.log --file-level=INFO \
53 --run-only-tests=makefailures.json \
54 --testing-modules-dir=$(call core_abspath,_tests/modules) \
55 --extra-profile-file=$(DIST)/plugins \
56 $(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
58 RUN_MOCHITEST_REMOTE = \
59 rm -f ./$@.log && \
60 $(PYTHON) _tests/testing/mochitest/runtestsremote.py --autorun --close-when-done \
61 --console-level=INFO --log-file=./$@.log --file-level=INFO $(DM_FLAGS) --dm_trans=$(DM_TRANS) \
62 --app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \
63 --testing-modules-dir=$(call core_abspath,_tests/modules) --httpd-path=. \
64 $(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
66 RUN_MOCHITEST_ROBOCOP = \
67 rm -f ./$@.log && \
68 $(PYTHON) _tests/testing/mochitest/runtestsremote.py \
69 --robocop-apk=$(DEPTH)/build/mobile/robocop/robocop-debug.apk \
70 --robocop-ids=$(DEPTH)/mobile/android/base/fennec_ids.txt \
71 --robocop-ini=$(DEPTH)/build/mobile/robocop/robocop.ini \
72 --console-level=INFO --log-file=./$@.log --file-level=INFO $(DM_FLAGS) --dm_trans=$(DM_TRANS) \
73 --app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \
74 --httpd-path=. \
75 $(SYMBOLS_PATH) $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
77 ifndef NO_FAIL_ON_TEST_ERRORS
78 define check_test_error_internal
79 @errors=`grep "TEST-UNEXPECTED-" $@.log` ;\
80 if test "$$errors" ; then \
81 echo "$@ failed:"; \
82 echo "$$errors"; \
83 $(if $(1),echo $(1)) \
84 exit 1; \
86 endef
87 CHECK_TEST_ERROR = $(call check_test_error_internal)
88 CHECK_TEST_ERROR_RERUN = $(call check_test_error_internal,"To rerun your failures please run 'make $@-rerun-failures'")
89 endif
91 mochitest-remote: DM_TRANS?=adb
92 mochitest-remote:
93 @if [ ! -f ${MOZ_HOST_BIN}/xpcshell ]; then \
94 echo "please prepare your host with the environment variable MOZ_HOST_BIN"; \
95 elif [ "${TEST_DEVICE}" = "" -a "$(DM_TRANS)" != "adb" ]; then \
96 echo "please prepare your host with the environment variable TEST_DEVICE"; \
97 else \
98 $(RUN_MOCHITEST_REMOTE); \
101 mochitest-robotium: mochitest-robocop
102 @echo "mochitest-robotium is deprecated -- please use mochitest-robocop"
104 mochitest-robocop: DM_TRANS?=adb
105 mochitest-robocop:
106 @if [ ! -f ${MOZ_HOST_BIN}/xpcshell ]; then \
107 echo "please prepare your host with the environment variable MOZ_HOST_BIN"; \
108 elif [ "${TEST_DEVICE}" = "" -a "$(DM_TRANS)" != "adb" ]; then \
109 echo "please prepare your host with the environment variable TEST_DEVICE"; \
110 else \
111 $(RUN_MOCHITEST_ROBOCOP); \
114 ifdef MOZ_B2G
115 mochitest-plain:
116 @if [ "${GAIA_PROFILE_DIR}" = "" ]; then \
117 echo "please specify the GAIA_PROFILE_DIR env variable"; \
118 else \
119 $(RUN_MOCHITEST_B2G_DESKTOP); \
120 $(CHECK_TEST_ERROR_RERUN); \
122 else
123 mochitest-plain:
124 $(RUN_MOCHITEST)
125 $(CHECK_TEST_ERROR_RERUN)
126 endif
128 mochitest-plain-rerun-failures:
129 $(RERUN_MOCHITEST)
130 $(CHECK_TEST_ERROR_RERUN)
132 # Allow mochitest-1 ... mochitest-5 for developer ease
133 mochitest-1 mochitest-2 mochitest-3 mochitest-4 mochitest-5: mochitest-%:
134 echo "mochitest: $* / 5"
135 $(RUN_MOCHITEST) --chunk-by-dir=4 --total-chunks=5 --this-chunk=$*
136 $(CHECK_TEST_ERROR)
138 mochitest-chrome:
139 $(RUN_MOCHITEST) --chrome
140 $(CHECK_TEST_ERROR)
142 mochitest-a11y:
143 $(RUN_MOCHITEST) --a11y
144 $(CHECK_TEST_ERROR)
146 mochitest-ipcplugins:
147 ifeq (Darwin,$(OS_ARCH))
148 ifeq (i386,$(TARGET_CPU))
149 $(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.i386.test.plugin=false $(IPCPLUGINS_PATH_ARG)
150 endif
151 ifeq (x86_64,$(TARGET_CPU))
152 $(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.x86_64.test.plugin=false $(IPCPLUGINS_PATH_ARG)
153 endif
154 ifeq (powerpc,$(TARGET_CPU))
155 $(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.ppc.test.plugin=false $(IPCPLUGINS_PATH_ARG)
156 endif
157 else
158 $(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled=false --test-path=dom/plugins/test
159 endif
160 $(CHECK_TEST_ERROR)
162 ifeq ($(OS_ARCH),Darwin)
163 webapprt_stub_path = $(TARGET_DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/webapprt-stub$(BIN_SUFFIX)
164 endif
165 ifeq ($(OS_ARCH),WINNT)
166 webapprt_stub_path = $(TARGET_DIST)/bin/webapprt-stub$(BIN_SUFFIX)
167 endif
168 ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
169 webapprt_stub_path = $(TARGET_DIST)/bin/webapprt-stub$(BIN_SUFFIX)
170 endif
172 ifdef webapprt_stub_path
173 webapprt-test-content:
174 $(RUN_MOCHITEST) --webapprt-content --appname $(webapprt_stub_path)
175 $(CHECK_TEST_ERROR)
176 webapprt-test-chrome:
177 $(RUN_MOCHITEST) --webapprt-chrome --appname $(webapprt_stub_path) --browser-arg -test-mode
178 $(CHECK_TEST_ERROR)
179 endif
181 # Usage: |make [EXTRA_TEST_ARGS=...] *test|.
182 RUN_REFTEST = rm -f ./$@.log && $(PYTHON) _tests/reftest/runreftest.py \
183 --extra-profile-file=$(DIST)/plugins \
184 $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS) $(1) | tee ./$@.log
186 REMOTE_REFTEST = rm -f ./$@.log && $(PYTHON) _tests/reftest/remotereftest.py \
187 --dm_trans=$(DM_TRANS) --ignore-window-size \
188 --app=$(TEST_PACKAGE_NAME) --deviceIP=${TEST_DEVICE} --xre-path=${MOZ_HOST_BIN} \
189 --httpd-path=_tests/reftest/reftest/components \
190 $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS) "$(1)" | tee ./$@.log
192 RUN_REFTEST_B2G = rm -f ./$@.log && $(PYTHON) _tests/reftest/runreftestb2g.py \
193 --remote-webserver=10.0.2.2 --b2gpath=${B2G_PATH} --adbpath=${ADB_PATH} \
194 --xre-path=${MOZ_HOST_BIN} $(SYMBOLS_PATH) --ignore-window-size \
195 --httpd-path=_tests/reftest/reftest/components \
196 $(EXTRA_TEST_ARGS) "$(1)" | tee ./$@.log
198 ifeq ($(OS_ARCH),WINNT) #{
199 # GPU-rendered shadow layers are unsupported here
200 OOP_CONTENT = --setpref=browser.tabs.remote=true --setpref=layers.acceleration.disabled=true
201 GPU_RENDERING =
202 else
203 OOP_CONTENT = --setpref=browser.tabs.remote=true
204 GPU_RENDERING = --setpref=layers.acceleration.force-enabled=true
205 endif #}
207 reftest: TEST_PATH?=layout/reftests/reftest.list
208 reftest:
209 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)")
210 $(CHECK_TEST_ERROR)
212 reftest-remote: TEST_PATH?=layout/reftests/reftest.list
213 reftest-remote: DM_TRANS?=adb
214 reftest-remote:
215 @if [ ! -f ${MOZ_HOST_BIN}/xpcshell ]; then \
216 echo "please prepare your host with the environment variable MOZ_HOST_BIN"; \
217 elif [ "${TEST_DEVICE}" = "" -a "$(DM_TRANS)" != "adb" ]; then \
218 echo "please prepare your host with the environment variable TEST_DEVICE"; \
219 else \
220 ln -s $(abspath $(topsrcdir)) _tests/reftest/tests; \
221 $(call REMOTE_REFTEST,tests/$(TEST_PATH)); \
222 $(CHECK_TEST_ERROR); \
225 reftest-b2g: TEST_PATH?=layout/reftests/reftest.list
226 reftest-b2g:
227 @if [ ! -f ${MOZ_HOST_BIN}/xpcshell ]; then \
228 echo "please set the MOZ_HOST_BIN environment variable"; \
229 elif [ "${B2G_PATH}" = "" -o "${ADB_PATH}" = "" ]; then \
230 echo "please set the B2G_PATH and ADB_PATH environment variables"; \
231 else \
232 ln -s $(abspath $(topsrcdir)) _tests/reftest/tests; \
233 if [ "${REFTEST_PATH}" != "" ]; then \
234 $(call RUN_REFTEST_B2G,tests/${REFTEST_PATH}); \
235 else \
236 $(call RUN_REFTEST_B2G,tests/$(TEST_PATH)); \
237 fi; \
238 $(CHECK_TEST_ERROR); \
241 reftest-ipc: TEST_PATH?=layout/reftests/reftest.list
242 reftest-ipc:
243 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)" $(OOP_CONTENT))
244 $(CHECK_TEST_ERROR)
246 reftest-ipc-gpu: TEST_PATH?=layout/reftests/reftest.list
247 reftest-ipc-gpu:
248 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)" $(OOP_CONTENT) $(GPU_RENDERING))
249 $(CHECK_TEST_ERROR)
251 crashtest: TEST_PATH?=testing/crashtest/crashtests.list
252 crashtest:
253 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)")
254 $(CHECK_TEST_ERROR)
256 crashtest-ipc: TEST_PATH?=testing/crashtest/crashtests.list
257 crashtest-ipc:
258 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)" $(OOP_CONTENT))
259 $(CHECK_TEST_ERROR)
261 crashtest-ipc-gpu: TEST_PATH?=testing/crashtest/crashtests.list
262 crashtest-ipc-gpu:
263 $(call RUN_REFTEST,"$(topsrcdir)/$(TEST_PATH)" $(OOP_CONTENT) $(GPU_RENDERING))
264 $(CHECK_TEST_ERROR)
266 jstestbrowser: TESTS_PATH?=test-package-stage/jsreftest/tests/
267 jstestbrowser:
268 $(MAKE) -C $(DEPTH)/config
269 $(MAKE) -C $(DEPTH)/js/src/config
270 $(MAKE) stage-jstests
271 $(call RUN_REFTEST,"$(DIST)/$(TESTS_PATH)/jstests.list" --extra-profile-file=$(DIST)/test-package-stage/jsreftest/tests/user.js)
272 $(CHECK_TEST_ERROR)
274 GARBAGE += $(addsuffix .log,$(MOCHITESTS) reftest crashtest jstestbrowser)
276 # Execute all xpcshell tests in the directories listed in the manifest.
277 # See also config/rules.mk 'xpcshell-tests' target for local execution.
278 # Usage: |make [TEST_PATH=...] [EXTRA_TEST_ARGS=...] xpcshell-tests|.
279 xpcshell-tests:
280 $(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
281 -I$(DEPTH)/build \
282 -I$(topsrcdir)/build \
283 -I$(DEPTH)/_tests/mozbase/mozinfo \
284 $(topsrcdir)/testing/xpcshell/runxpcshelltests.py \
285 --manifest=$(DEPTH)/_tests/xpcshell/xpcshell.ini \
286 --build-info-json=$(DEPTH)/mozinfo.json \
287 --no-logfiles \
288 --tests-root-dir=$(call core_abspath,_tests/xpcshell) \
289 --testing-modules-dir=$(call core_abspath,_tests/modules) \
290 --xunit-file=$(call core_abspath,_tests/xpcshell/results.xml) \
291 --xunit-suite-name=xpcshell \
292 $(SYMBOLS_PATH) \
293 $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS) \
294 $(LIBXUL_DIST)/bin/xpcshell
296 B2G_XPCSHELL = \
297 rm -f ./@.log && \
298 $(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
299 -I$(DEPTH)/build \
300 -I$(topsrcdir)/build \
301 $(topsrcdir)/testing/xpcshell/runtestsb2g.py \
302 --manifest=$(DEPTH)/_tests/xpcshell/xpcshell.ini \
303 --build-info-json=$(DEPTH)/mozinfo.json \
304 --no-logfiles \
305 --use-device-libs \
306 --no-clean \
307 --objdir=$(DEPTH) \
308 $$EXTRA_XPCSHELL_ARGS \
309 --b2gpath=${B2G_HOME} \
310 $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS)
312 xpcshell-tests-b2g: ADB_PATH?=$(shell which adb)
313 xpcshell-tests-b2g:
314 @if [ "${B2G_HOME}" = "" ]; then \
315 echo "Please set the B2G_HOME variable"; exit 1; \
316 elif [ ! -f "${ADB_PATH}" ]; then \
317 echo "Please set the ADB_PATH variable"; exit 1; \
318 elif [ "${EMULATOR}" != "" ]; then \
319 EXTRA_XPCSHELL_ARGS=--emulator=${EMULATOR}; \
320 $(call B2G_XPCSHELL); \
321 exit 0; \
322 else \
323 EXTRA_XPCSHELL_ARGS=--address=localhost:2828; \
324 $(call B2G_XPCSHELL); \
325 exit 0; \
328 xpcshell-tests-remote: DM_TRANS?=adb
329 xpcshell-tests-remote:
330 @if [ "${TEST_DEVICE}" != "" -o "$(DM_TRANS)" = "adb" ]; \
331 then $(PYTHON) -u $(topsrcdir)/testing/xpcshell/remotexpcshelltests.py \
332 --manifest=$(DEPTH)/_tests/xpcshell/xpcshell_android.ini \
333 --build-info-json=$(DEPTH)/mozinfo.json \
334 --no-logfiles \
335 --testing-modules-dir=$(call core_abspath,_tests/modules) \
336 --dm_trans=$(DM_TRANS) \
337 --deviceIP=${TEST_DEVICE} \
338 --objdir=$(DEPTH) \
339 $(SYMBOLS_PATH) \
340 $(TEST_PATH_ARG) $(EXTRA_TEST_ARGS); \
341 $(CHECK_TEST_ERROR); \
342 else \
343 echo "please prepare your host with environment variables for TEST_DEVICE"; \
346 # Runs peptest, for usage see: https://developer.mozilla.org/en/Peptest#Running_Tests
347 RUN_PEPTEST = \
348 rm -f ./$@.log && \
349 $(PYTHON) _tests/peptest/runtests.py --binary=$(browser_path) \
350 $(PEPTEST_PATH_ARG) \
351 --proxy=_tests/peptest/tests/firefox/server-locations.txt \
352 --proxy-host-dirs \
353 --server-path=_tests/peptest/tests/firefox/server \
354 --log-file=./$@.log $(SYMBOLS_PATH) $(EXTRA_TEST_ARGS)
356 peptest:
357 $(RUN_PEPTEST)
358 $(CHECK_TEST_ERROR)
360 REMOTE_CPPUNITTESTS = \
361 $(PYTHON) -u $(topsrcdir)/testing/remotecppunittests.py \
362 --xre-path=$(DEPTH)/dist/bin \
363 --localLib=$(DEPTH)/dist/fennec \
364 --dm_trans=$(DM_TRANS) \
365 --deviceIP=${TEST_DEVICE} \
366 $(TEST_PATH) $(EXTRA_TEST_ARGS)
368 # Usage: |make [TEST_PATH=...] [EXTRA_TEST_ARGS=...] cppunittests-remote|.
369 cppunittests-remote: DM_TRANS?=adb
370 cppunittests-remote:
371 @if [ "${TEST_DEVICE}" != "" -o "$(DM_TRANS)" = "adb" ]; \
372 then $(call REMOTE_CPPUNITTESTS); \
373 else \
374 echo "please prepare your host with environment variables for TEST_DEVICE"; \
377 jetpack-tests:
378 $(PYTHON) $(topsrcdir)/addon-sdk/source/bin/cfx -b $(browser_path) --parseable testpkgs
380 # -- -register
381 # -- --trace-malloc malloc.log --shutdown-leaks=sdleak.log
382 leaktest:
383 $(PYTHON) _leaktest/leaktest.py $(LEAKTEST_ARGS)
385 pgo-profile-run:
386 $(PYTHON) $(topsrcdir)/build/pgo/profileserver.py $(EXTRA_TEST_ARGS)
388 # Package up the tests and test harnesses
389 include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
391 ifndef UNIVERSAL_BINARY
392 PKG_STAGE = $(DIST)/test-package-stage
393 package-tests: \
394 stage-config \
395 stage-mochitest \
396 stage-reftest \
397 stage-xpcshell \
398 stage-jstests \
399 stage-jetpack \
400 stage-peptest \
401 stage-mozbase \
402 stage-tps \
403 stage-modules \
404 stage-marionette \
405 stage-cppunittests \
406 $(NULL)
407 else
408 # This staging area has been built for us by universal/flight.mk
409 PKG_STAGE = $(DIST)/universal/test-package-stage
410 endif
412 package-tests:
413 @rm -f "$(DIST)/$(PKG_PATH)$(TEST_PACKAGE)"
414 ifndef UNIVERSAL_BINARY
415 $(NSINSTALL) -D $(DIST)/$(PKG_PATH)
416 else
417 #building tests.jar (bug 543800) fails on unify, so we build tests.jar after unify is run
418 $(MAKE) -C $(DEPTH)/testing/mochitest stage-chromejar PKG_STAGE=$(DIST)/universal
419 endif
420 find $(PKG_STAGE) -name "*.pyc" -exec rm {} \;
421 cd $(PKG_STAGE) && \
422 zip -rq9D "$(call core_abspath,$(DIST)/$(PKG_PATH)$(TEST_PACKAGE))" \
423 * -x \*/.mkdir.done
425 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
426 package-tests: stage-android
427 endif
429 ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
430 package-tests: stage-b2g
431 endif
433 make-stage-dir:
434 rm -rf $(PKG_STAGE)
435 $(NSINSTALL) -D $(PKG_STAGE)
436 $(NSINSTALL) -D $(PKG_STAGE)/bin
437 $(NSINSTALL) -D $(PKG_STAGE)/bin/components
438 $(NSINSTALL) -D $(PKG_STAGE)/certs
439 $(NSINSTALL) -D $(PKG_STAGE)/config
440 $(NSINSTALL) -D $(PKG_STAGE)/jetpack
441 $(NSINSTALL) -D $(PKG_STAGE)/peptest
442 $(NSINSTALL) -D $(PKG_STAGE)/mozbase
443 $(NSINSTALL) -D $(PKG_STAGE)/modules
445 stage-b2g: make-stage-dir
446 $(NSINSTALL) $(topsrcdir)/b2g/test/b2g-unittest-requirements.txt $(PKG_STAGE)/b2g
448 stage-config: make-stage-dir
449 $(NSINSTALL) $(topsrcdir)/testing/config/mozharness_config.py $(PKG_STAGE)/config
451 stage-mochitest: make-stage-dir
452 $(MAKE) -C $(DEPTH)/testing/mochitest stage-package
453 ifeq ($(MOZ_BUILD_APP),mobile/android)
454 $(NSINSTALL) $(DEPTH)/mobile/android/base/fennec_ids.txt $(PKG_STAGE)/mochitest
455 endif
457 stage-reftest: make-stage-dir
458 $(MAKE) -C $(DEPTH)/layout/tools/reftest stage-package
460 stage-xpcshell: make-stage-dir
461 $(MAKE) -C $(DEPTH)/testing/xpcshell stage-package
463 stage-jstests: make-stage-dir
464 $(MAKE) -C $(DEPTH)/js/src/tests stage-package
466 stage-android: make-stage-dir
467 ifdef MOZ_ENABLE_SZIP
468 # Tinderbox scripts are not unzipping everything, so the file needs to be in a directory it unzips
469 $(NSINSTALL) $(DIST)/host/bin/szip $(PKG_STAGE)/bin/host
470 endif
471 $(NSINSTALL) $(DEPTH)/build/mobile/sutagent/android/sutAgentAndroid.apk $(PKG_STAGE)/bin
472 $(NSINSTALL) $(DEPTH)/build/mobile/sutagent/android/watcher/Watcher.apk $(PKG_STAGE)/bin
473 $(NSINSTALL) $(DEPTH)/build/mobile/sutagent/android/fencp/FenCP.apk $(PKG_STAGE)/bin
474 $(NSINSTALL) $(DEPTH)/build/mobile/sutagent/android/ffxcp/FfxCP.apk $(PKG_STAGE)/bin
476 stage-jetpack: make-stage-dir
477 $(MAKE) -C $(DEPTH)/addon-sdk stage-tests-package
479 stage-peptest: make-stage-dir
480 $(MAKE) -C $(DEPTH)/testing/peptest stage-package
482 stage-tps: make-stage-dir
483 $(NSINSTALL) -D $(PKG_STAGE)/tps/tests
484 @(cd $(topsrcdir)/testing/tps && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/tps && tar -xf -)
485 @(cd $(topsrcdir)/services/sync/tps && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/tps && tar -xf -)
486 (cd $(topsrcdir)/services/sync/tests/tps && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/tps/tests && tar -xf -)
488 stage-modules: make-stage-dir
489 $(NSINSTALL) -D $(PKG_STAGE)/modules
490 cp -RL $(DEPTH)/_tests/modules $(PKG_STAGE)
492 CPP_UNIT_TEST_BINS=$(wildcard $(DIST)/cppunittests/*)
494 stage-cppunittests:
495 $(NSINSTALL) -D $(PKG_STAGE)/cppunittests
496 ifdef OBJCOPY
497 $(foreach bin,$(CPP_UNIT_TEST_BINS),$(OBJCOPY) --strip-unneeded $(bin) $(bin:$(DIST)/%=$(PKG_STAGE)/%);)
498 else
499 cp -RL $(DIST)/cppunittests $(PKG_STAGE)
500 endif
501 $(NSINSTALL) $(topsrcdir)/testing/runcppunittests.py $(PKG_STAGE)/cppunittests
502 $(NSINSTALL) $(topsrcdir)/testing/remotecppunittests.py $(PKG_STAGE)/cppunittests
504 MARIONETTE_DIR=$(PKG_STAGE)/marionette
505 stage-marionette: make-stage-dir
506 $(NSINSTALL) -D $(MARIONETTE_DIR)/tests
507 @(cd $(topsrcdir)/testing/marionette/client && tar --exclude marionette/tests $(TAR_CREATE_FLAGS) - *) | (cd $(MARIONETTE_DIR) && tar -xf -)
508 $(PYTHON) $(topsrcdir)/testing/marionette/client/marionette/tests/print-manifest-dirs.py \
509 $(topsrcdir) \
510 $(topsrcdir)/testing/marionette/client/marionette/tests/unit-tests.ini \
511 | (cd $(topsrcdir) && xargs tar $(TAR_CREATE_FLAGS) -) \
512 | (cd $(MARIONETTE_DIR)/tests && tar -xf -)
514 stage-mozbase: make-stage-dir
515 $(MAKE) -C $(DEPTH)/testing/mozbase stage-package
516 .PHONY: \
517 mochitest \
518 mochitest-plain \
519 mochitest-chrome \
520 mochitest-a11y \
521 mochitest-ipcplugins \
522 reftest \
523 crashtest \
524 xpcshell-tests \
525 jstestbrowser \
526 peptest \
527 package-tests \
528 make-stage-dir \
529 stage-b2g \
530 stage-config \
531 stage-mochitest \
532 stage-reftest \
533 stage-xpcshell \
534 stage-jstests \
535 stage-android \
536 stage-jetpack \
537 stage-peptest \
538 stage-mozbase \
539 stage-tps \
540 stage-modules \
541 stage-marionette \
542 $(NULL)