|
1 # |
|
2 # This Source Code Form is subject to the terms of the Mozilla Public |
|
3 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
5 |
|
6 NO_JS_MANIFEST = 1 |
|
7 MOZ_CHROME_FILE_FORMAT = jar |
|
8 DIST_FILES = install.rdf |
|
9 |
|
10 # Used in install.rdf |
|
11 USE_EXTENSION_MANIFEST = 1 |
|
12 |
|
13 # files that get copied into $objdir/_tests/ |
|
14 SERV_FILES = \ |
|
15 runtests.py \ |
|
16 automation.py \ |
|
17 runtestsb2g.py \ |
|
18 runtestsremote.py \ |
|
19 runtestsvmware.py \ |
|
20 mochitest_options.py \ |
|
21 manifest.webapp \ |
|
22 $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanager.py \ |
|
23 $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py \ |
|
24 $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/devicemanagerSUT.py \ |
|
25 $(topsrcdir)/testing/mozbase/manifestdestiny/manifestparser/manifestparser.py \ |
|
26 $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/droid.py \ |
|
27 $(topsrcdir)/testing/mozbase/mozdevice/mozdevice/Zeroconf.py \ |
|
28 $(topsrcdir)/testing/mozbase/moznetwork/moznetwork/moznetwork.py \ |
|
29 $(topsrcdir)/build/automationutils.py \ |
|
30 $(topsrcdir)/build/mobile/remoteautomation.py \ |
|
31 gen_template.pl \ |
|
32 server.js \ |
|
33 chunkifyTests.js \ |
|
34 manifestLibrary.js \ |
|
35 harness.xul \ |
|
36 browser-test-overlay.xul \ |
|
37 browser-test.js \ |
|
38 cc-analyzer.js \ |
|
39 chrome-harness.js \ |
|
40 browser-harness.xul \ |
|
41 redirect.html \ |
|
42 $(topsrcdir)/build/pgo/server-locations.txt \ |
|
43 $(topsrcdir)/netwerk/test/httpserver/httpd.js \ |
|
44 pywebsocket_wrapper.py \ |
|
45 android.json \ |
|
46 androidx86.json \ |
|
47 android23.json \ |
|
48 gl.json \ |
|
49 b2g_start_script.js \ |
|
50 $(NULL) |
|
51 |
|
52 ifeq ($(MOZ_BUILD_APP),mobile/android) |
|
53 SERV_FILES += \ |
|
54 $(topsrcdir)/mobile/android/base/tests/robocop.ini \ |
|
55 $(topsrcdir)/mobile/android/base/tests/robocop_autophone.ini \ |
|
56 $(NULL) |
|
57 endif |
|
58 |
|
59 _DEST_DIR = $(DEPTH)/_tests/$(relativesrcdir) |
|
60 SERV_DEST = $(_DEST_DIR) |
|
61 INSTALL_TARGETS += SERV |
|
62 |
|
63 PYWEBSOCKET_FILES = \ |
|
64 pywebsocket/standalone.py \ |
|
65 $(NULL) |
|
66 PYWEBSOCKET_DEST = $(_DEST_DIR)/pywebsocket |
|
67 INSTALL_TARGETS += PYWEBSOCKET |
|
68 |
|
69 MOD_PYWEBSOCKET_FILES = \ |
|
70 pywebsocket/mod_pywebsocket/__init__.py \ |
|
71 pywebsocket/mod_pywebsocket/common.py \ |
|
72 pywebsocket/mod_pywebsocket/dispatch.py \ |
|
73 pywebsocket/mod_pywebsocket/extensions.py \ |
|
74 pywebsocket/mod_pywebsocket/headerparserhandler.py \ |
|
75 pywebsocket/mod_pywebsocket/http_header_util.py \ |
|
76 pywebsocket/mod_pywebsocket/memorizingfile.py \ |
|
77 pywebsocket/mod_pywebsocket/util.py \ |
|
78 pywebsocket/mod_pywebsocket/stream.py \ |
|
79 pywebsocket/mod_pywebsocket/_stream_hixie75.py \ |
|
80 pywebsocket/mod_pywebsocket/msgutil.py \ |
|
81 pywebsocket/mod_pywebsocket/_stream_hybi.py \ |
|
82 pywebsocket/mod_pywebsocket/_stream_base.py \ |
|
83 $(NULL) |
|
84 MOD_PYWEBSOCKET_DEST = $(_DEST_DIR)/pywebsocket/mod_pywebsocket |
|
85 INSTALL_TARGETS += MOD_PYWEBSOCKET |
|
86 |
|
87 HANDSHAKE_FILES = \ |
|
88 pywebsocket/mod_pywebsocket/handshake/__init__.py \ |
|
89 pywebsocket/mod_pywebsocket/handshake/hybi00.py \ |
|
90 pywebsocket/mod_pywebsocket/handshake/_base.py \ |
|
91 pywebsocket/mod_pywebsocket/handshake/draft75.py \ |
|
92 pywebsocket/mod_pywebsocket/handshake/hybi.py \ |
|
93 $(NULL) |
|
94 HANDSHAKE_DEST = $(_DEST_DIR)/pywebsocket/mod_pywebsocket/handshake |
|
95 INSTALL_TARGETS += HANDSHAKE |
|
96 |
|
97 include $(topsrcdir)/config/rules.mk |
|
98 # We're installing to _tests/testing/mochitest, so this is the depth |
|
99 # necessary for relative objdir paths. |
|
100 TARGET_DEPTH = ../../.. |
|
101 include $(topsrcdir)/build/automation-build.mk |
|
102 |
|
103 libs:: |
|
104 (cd $(DIST)/xpi-stage && tar $(TAR_CREATE_FLAGS) - mochijar) | (cd $(_DEST_DIR) && tar -xf -) |
|
105 |
|
106 # Binaries and scripts that don't get packaged with the build, |
|
107 # but that we need for the test harness |
|
108 TEST_HARNESS_BINS := \ |
|
109 xpcshell$(BIN_SUFFIX) \ |
|
110 ssltunnel$(BIN_SUFFIX) \ |
|
111 certutil$(BIN_SUFFIX) \ |
|
112 pk12util$(BIN_SUFFIX) \ |
|
113 BadCertServer$(BIN_SUFFIX) \ |
|
114 OCSPStaplingServer$(BIN_SUFFIX) \ |
|
115 GenerateOCSPResponse$(BIN_SUFFIX) \ |
|
116 fix_stack_using_bpsyms.py \ |
|
117 $(NULL) |
|
118 |
|
119 ifeq ($(OS_ARCH),WINNT) |
|
120 TEST_HARNESS_BINS += \ |
|
121 crashinject$(BIN_SUFFIX) \ |
|
122 crashinjectdll$(DLL_SUFFIX) \ |
|
123 vmwarerecordinghelper$(DLL_SUFFIX) \ |
|
124 $(NULL) |
|
125 endif |
|
126 |
|
127 ifeq ($(OS_ARCH),Darwin) |
|
128 TEST_HARNESS_BINS += fix_macosx_stack.py |
|
129 endif |
|
130 |
|
131 ifeq ($(OS_ARCH),Linux) |
|
132 TEST_HARNESS_BINS += fix-linux-stack.pl |
|
133 endif |
|
134 |
|
135 ifeq (gtk2_1,$(MOZ_WIDGET_TOOLKIT)_$(MOZ_X11)) |
|
136 TEST_HARNESS_BINS += screentopng |
|
137 endif |
|
138 |
|
139 ifeq (windows,$(MOZ_WIDGET_TOOLKIT)) |
|
140 TEST_HARNESS_BINS += screenshot$(BIN_SUFFIX) |
|
141 ifdef MOZ_METRO |
|
142 TEST_HARNESS_BINS += metrotestharness$(BIN_SUFFIX) |
|
143 endif |
|
144 endif |
|
145 |
|
146 # Components / typelibs that don't get packaged with |
|
147 # the build, but that we need for the test harness. |
|
148 TEST_HARNESS_COMPONENTS := \ |
|
149 test_necko.xpt \ |
|
150 $(NULL) |
|
151 |
|
152 # We need the test plugin as some tests rely on it |
|
153 ifeq (Darwin,$(OS_TARGET)) |
|
154 TEST_HARNESS_PLUGINS := \ |
|
155 Test.plugin/ \ |
|
156 SecondTest.plugin/ \ |
|
157 JavaTest.plugin/ |
|
158 else |
|
159 TEST_HARNESS_PLUGINS := \ |
|
160 $(DLL_PREFIX)nptest$(DLL_SUFFIX) \ |
|
161 $(DLL_PREFIX)npsecondtest$(DLL_SUFFIX) \ |
|
162 $(DLL_PREFIX)nptestjava$(DLL_SUFFIX) |
|
163 endif |
|
164 |
|
165 # Rules for staging the necessary harness bits for a test package |
|
166 PKG_STAGE = $(DIST)/test-package-stage |
|
167 DIST_BIN = $(DIST)/bin |
|
168 |
|
169 $(_DEST_DIR): |
|
170 $(NSINSTALL) -D $@ |
|
171 |
|
172 stage-package: |
|
173 $(NSINSTALL) -D $(PKG_STAGE)/mochitest && $(NSINSTALL) -D $(PKG_STAGE)/bin/plugins && $(NSINSTALL) -D $(DIST)/plugins |
|
174 cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/mochitest |
|
175 (cd $(DEPTH)/_tests/testing && tar $(TAR_CREATE_FLAGS) - mochitest) | (cd $(PKG_STAGE) && tar -xf -) |
|
176 @cp $(DEPTH)/mozinfo.json $(PKG_STAGE)/mochitest |
|
177 @(cd $(DIST_BIN) && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_BINS)) | (cd $(PKG_STAGE)/bin && tar -xf -) |
|
178 @(cd $(DIST_BIN)/components && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_COMPONENTS)) | (cd $(PKG_STAGE)/bin/components && tar -xf -) |
|
179 (cd $(topsrcdir)/build/pgo && tar $(TAR_CREATE_FLAGS) - certs) | (cd $(PKG_STAGE) && tar -xf -) |
|
180 @(cd $(DIST)/plugins && tar $(TAR_CREATE_FLAGS) - $(TEST_HARNESS_PLUGINS)) | (cd $(PKG_STAGE)/bin/plugins && tar -xf -) |