blob: 515a447e9dd070f7d0acdd1e490684b96efe8296 [file] [log] [blame]
Kevin Lubick291547d2017-03-21 09:25:34 -04001[
2 {
3 "cmd": [
4 "python",
5 "-u",
6 "\nimport os\nCHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')\nwith open(CHROMECAST_IP_FILE, 'r') as f:\n print f.read()\n"
7 ],
8 "env": {
9 "BUILDTYPE": "Debug",
10 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070011 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +000012 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -040013 },
14 "infra_step": true,
15 "name": "read chromecast ip",
16 "stdout": "/path/to/tmp/",
17 "~followup_annotations": [
18 "@@@STEP_LOG_LINE@python.inline@@@@",
19 "@@@STEP_LOG_LINE@python.inline@import os@@@",
20 "@@@STEP_LOG_LINE@python.inline@CHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')@@@",
21 "@@@STEP_LOG_LINE@python.inline@with open(CHROMECAST_IP_FILE, 'r') as f:@@@",
22 "@@@STEP_LOG_LINE@python.inline@ print f.read()@@@",
23 "@@@STEP_LOG_END@python.inline@@@"
24 ]
25 },
26 {
27 "cmd": [
28 "adb",
29 "connect",
30 "192.168.1.2:5555"
31 ],
32 "env": {
33 "BUILDTYPE": "Debug",
34 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070035 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +000036 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -040037 },
38 "infra_step": true,
39 "name": "adb connect 192.168.1.2:5555"
40 },
41 {
42 "cmd": [
43 "adb",
44 "shell",
45 "mkdir",
46 "-p",
47 "/cache/skia/resources"
48 ],
49 "cwd": "[START_DIR]/skia",
50 "env": {
51 "BUILDTYPE": "Debug",
52 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070053 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +000054 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -040055 },
56 "infra_step": true,
57 "name": "mkdir /cache/skia/resources"
58 },
59 {
60 "cmd": [
Kevin Lubick2dafbd72017-08-31 10:39:05 -040061 "adb",
62 "shell",
63 "mkdir",
64 "-p",
65 "/cache/skia/bin"
66 ],
67 "cwd": "[START_DIR]/skia",
68 "env": {
69 "BUILDTYPE": "Debug",
70 "CHROME_HEADLESS": "1",
71 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +000072 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick2dafbd72017-08-31 10:39:05 -040073 },
74 "infra_step": true,
75 "name": "mkdir /cache/skia/bin"
76 },
77 {
78 "cmd": [
Kevin Lubick291547d2017-03-21 09:25:34 -040079 "python",
80 "-u",
Kevin Lubick2dafbd72017-08-31 10:39:05 -040081 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
Kevin Lubick291547d2017-03-21 09:25:34 -040082 "[START_DIR]/skia/resources",
83 "/cache/skia/resources"
84 ],
85 "env": {
86 "BUILDTYPE": "Debug",
87 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070088 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +000089 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -040090 },
91 "infra_step": true,
92 "name": "push [START_DIR]/skia/resources/* /cache/skia/resources",
93 "~followup_annotations": [
94 "@@@STEP_LOG_LINE@python.inline@@@@",
95 "@@@STEP_LOG_LINE@python.inline@import os@@@",
96 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
97 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
98 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
99 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
100 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
101 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
102 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
103 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
104 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
105 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
106 "@@@STEP_LOG_LINE@python.inline@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400107 "@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
Kevin Lubick291547d2017-03-21 09:25:34 -0400108 "@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
109 "@@@STEP_LOG_LINE@python.inline@ else:@@@",
110 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
111 "@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
112 "@@@STEP_LOG_END@python.inline@@@"
113 ]
114 },
115 {
116 "cmd": [
117 "python",
118 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400119 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
120 "--json-output",
121 "/path/to/tmp/json",
122 "copy",
Kevin Lubick291547d2017-03-21 09:25:34 -0400123 "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
124 "/path/to/tmp/"
125 ],
126 "infra_step": true,
Ben Wagnerf20710e2018-03-19 16:52:37 -0400127 "name": "Get skp VERSION"
Kevin Lubick291547d2017-03-21 09:25:34 -0400128 },
129 {
130 "cmd": [
131 "python",
132 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400133 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
134 "--json-output",
135 "/path/to/tmp/json",
136 "copy",
Kevin Lubick291547d2017-03-21 09:25:34 -0400137 "42",
138 "[START_DIR]/tmp/SKP_VERSION"
139 ],
140 "infra_step": true,
141 "name": "write SKP_VERSION"
142 },
143 {
144 "cmd": [
145 "adb",
146 "shell",
147 "cat",
148 "/cache/skia/SKP_VERSION"
149 ],
150 "cwd": "[START_DIR]/skia",
151 "env": {
152 "BUILDTYPE": "Debug",
153 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700154 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000155 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400156 },
157 "infra_step": true,
158 "name": "read /cache/skia/SKP_VERSION",
159 "stdout": "/path/to/tmp/"
160 },
161 {
162 "cmd": [
163 "adb",
164 "shell",
165 "rm",
166 "-f",
167 "/cache/skia/SKP_VERSION"
168 ],
169 "cwd": "[START_DIR]/skia",
170 "env": {
171 "BUILDTYPE": "Debug",
172 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700173 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000174 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400175 },
176 "infra_step": true,
177 "name": "rm /cache/skia/SKP_VERSION"
178 },
179 {
180 "cmd": [
181 "adb",
182 "shell",
183 "rm",
184 "-r",
185 "/cache/skia/skps"
186 ],
187 "cwd": "[START_DIR]/skia",
188 "env": {
189 "BUILDTYPE": "Debug",
190 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700191 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000192 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400193 },
194 "infra_step": true,
195 "name": "rm /cache/skia/skps"
196 },
197 {
198 "cmd": [
199 "adb",
200 "shell",
201 "mkdir",
202 "-p",
203 "/cache/skia/skps"
204 ],
205 "cwd": "[START_DIR]/skia",
206 "env": {
207 "BUILDTYPE": "Debug",
208 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700209 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000210 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400211 },
212 "infra_step": true,
213 "name": "mkdir /cache/skia/skps"
214 },
215 {
216 "cmd": [
217 "python",
218 "-u",
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400219 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
Kevin Lubick291547d2017-03-21 09:25:34 -0400220 "[START_DIR]/skp",
221 "/cache/skia/skps"
222 ],
223 "env": {
224 "BUILDTYPE": "Debug",
225 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700226 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000227 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400228 },
229 "infra_step": true,
230 "name": "push [START_DIR]/skp/* /cache/skia/skps",
231 "~followup_annotations": [
232 "@@@STEP_LOG_LINE@python.inline@@@@",
233 "@@@STEP_LOG_LINE@python.inline@import os@@@",
234 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
235 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
236 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
237 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
238 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
239 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
240 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
241 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
242 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
243 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
244 "@@@STEP_LOG_LINE@python.inline@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400245 "@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
Kevin Lubick291547d2017-03-21 09:25:34 -0400246 "@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
247 "@@@STEP_LOG_LINE@python.inline@ else:@@@",
248 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
249 "@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
250 "@@@STEP_LOG_END@python.inline@@@"
251 ]
252 },
253 {
254 "cmd": [
255 "adb",
256 "push",
257 "[START_DIR]/tmp/SKP_VERSION",
258 "/cache/skia/SKP_VERSION"
259 ],
260 "cwd": "[START_DIR]/skia",
261 "env": {
262 "BUILDTYPE": "Debug",
263 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700264 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000265 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400266 },
267 "infra_step": true,
268 "name": "push [START_DIR]/tmp/SKP_VERSION /cache/skia/SKP_VERSION"
269 },
270 {
271 "cmd": [
Eric Borenf9aa9e52017-04-10 09:56:10 -0400272 "python",
273 "-u",
274 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
275 ],
276 "name": "get swarming bot id",
277 "stdout": "/path/to/tmp/",
278 "~followup_annotations": [
279 "@@@STEP_LOG_LINE@python.inline@import os@@@",
280 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
281 "@@@STEP_LOG_END@python.inline@@@"
282 ]
283 },
284 {
285 "cmd": [
286 "python",
287 "-u",
288 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
289 ],
290 "name": "get swarming task id",
291 "stdout": "/path/to/tmp/",
292 "~followup_annotations": [
293 "@@@STEP_LOG_LINE@python.inline@import os@@@",
294 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
295 "@@@STEP_LOG_END@python.inline@@@"
296 ]
297 },
298 {
299 "cmd": [
Kevin Lubick291547d2017-03-21 09:25:34 -0400300 "adb",
301 "push",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000302 "[START_DIR]/out/Debug/nanobench",
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400303 "/cache/skia/bin"
Kevin Lubick291547d2017-03-21 09:25:34 -0400304 ],
305 "cwd": "[START_DIR]/skia",
306 "env": {
307 "BUILDTYPE": "Debug",
308 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700309 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000310 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400311 },
312 "infra_step": true,
313 "name": "push nanobench"
314 },
315 {
316 "cmd": [
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400317 "ssh",
318 "-oConnectTimeout=15",
319 "-oBatchMode=yes",
320 "-t",
321 "-t",
322 "root@192.168.1.2",
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400323 "/cache/skia/bin/nanobench",
Ben Wagner32fa5102017-08-10 21:25:55 -0400324 "--nogpu",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400325 "--config",
Kevin Lubickb6d09b72017-06-15 15:21:17 -0400326 "8888",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400327 "-i",
328 "/cache/skia/resources",
329 "--images",
Kevin Lubickc2f3e8d2018-01-24 15:48:26 -0500330 "/cache/skia/resources/images/color_wheel.jpg",
Kevin Lubickc78a2d72017-06-01 15:51:06 -0400331 "--skps",
332 "/cache/skia/skps",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400333 "--pre_log",
334 "--match",
335 "~matrixconvolution",
336 "~blur_image_filter",
337 "~blur_0.01",
Brian Salomon44acb5b2017-07-18 19:59:24 -0400338 "~GM_animated-image-blurs",
Chris Dalton035fcdf2017-11-07 15:34:22 -0700339 "~blendmode_mask_",
Kevin Lubick5d750ed2018-01-22 11:32:39 -0500340 "~desk_carsvg.skp",
Kevin Lubick03bd9ee2018-01-29 10:30:02 -0500341 "~^path_text_clipped",
342 "~shapes_rrect_inner_rrect_50_500x500"
Kevin Lubick291547d2017-03-21 09:25:34 -0400343 ],
344 "env": {
345 "BUILDTYPE": "Debug",
346 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700347 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000348 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400349 },
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400350 "name": "nanobench"
Kevin Lubick291547d2017-03-21 09:25:34 -0400351 },
352 {
353 "cmd": [
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400354 "ssh",
355 "-oConnectTimeout=15",
356 "-oBatchMode=yes",
357 "-t",
358 "-t",
359 "root@192.168.1.2",
360 "rm",
361 "-r",
362 "/cache/skia/bin"
363 ],
364 "env": {
365 "BUILDTYPE": "Debug",
366 "CHROME_HEADLESS": "1",
367 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000368 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400369 },
Kevin Lubick5d303ed2017-08-31 13:32:44 -0400370 "infra_step": true,
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400371 "name": "Delete executables"
372 },
373 {
374 "cmd": [
Kevin Lubick5d303ed2017-08-31 13:32:44 -0400375 "adb",
376 "disconnect"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400377 ],
378 "cwd": "[START_DIR]/skia",
379 "env": {
380 "BUILDTYPE": "Debug",
381 "CHROME_HEADLESS": "1",
382 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000383 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400384 },
385 "infra_step": true,
386 "name": "disconnect"
387 },
388 {
389 "cmd": [
390 "adb",
391 "connect",
392 "192.168.1.2:5555"
393 ],
394 "env": {
395 "BUILDTYPE": "Debug",
396 "CHROME_HEADLESS": "1",
397 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000398 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400399 },
400 "infra_step": true,
401 "name": "adb connect 192.168.1.2:5555 (2)"
402 },
403 {
404 "cmd": [
Kevin Lubick291547d2017-03-21 09:25:34 -0400405 "python",
406 "-u",
407 "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n print line\n",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000408 "[START_DIR]/out/Debug"
Kevin Lubick291547d2017-03-21 09:25:34 -0400409 ],
410 "env": {
411 "BUILDTYPE": "Debug",
412 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700413 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000414 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400415 },
416 "infra_step": true,
417 "name": "dump log",
418 "~followup_annotations": [
419 "@@@STEP_LOG_LINE@python.inline@@@@",
420 "@@@STEP_LOG_LINE@python.inline@import os@@@",
421 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
422 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
423 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
424 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
425 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
426 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
427 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
428 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
429 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
430 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
431 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
432 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
433 "@@@STEP_LOG_LINE@python.inline@ print line@@@",
434 "@@@STEP_LOG_END@python.inline@@@"
435 ]
436 },
437 {
438 "cmd": [
Kevin Lubick5d303ed2017-08-31 13:32:44 -0400439 "adb",
440 "disconnect"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400441 ],
442 "cwd": "[START_DIR]/skia",
443 "env": {
444 "BUILDTYPE": "Debug",
445 "CHROME_HEADLESS": "1",
446 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000447 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick2dafbd72017-08-31 10:39:05 -0400448 },
449 "infra_step": true,
450 "name": "disconnect (2)"
451 },
452 {
453 "cmd": [
Kevin Lubick291547d2017-03-21 09:25:34 -0400454 "adb",
455 "kill-server"
456 ],
457 "cwd": "[START_DIR]/skia",
458 "env": {
459 "BUILDTYPE": "Debug",
460 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700461 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbd2e1f12018-04-17 11:28:46 +0000462 "SKIA_OUT": "[START_DIR]/out"
Kevin Lubick291547d2017-03-21 09:25:34 -0400463 },
464 "infra_step": true,
465 "name": "kill adb server"
466 },
467 {
468 "name": "$result",
469 "recipe_result": null,
470 "status_code": 0
471 }
472]