b149caf08563595d219a84cae27f92776e60315e
[platform/upstream/libSkiaSharp.git] /
1 [
2   {
3     "cmd": [
4       "adb",
5       "shell",
6       "mkdir",
7       "-p",
8       "/sdcard/revenge_of_the_skiabot/resources"
9     ],
10     "cwd": "[START_DIR]/skia",
11     "infra_step": true,
12     "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
13   },
14   {
15     "cmd": [
16       "python",
17       "-u",
18       "\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    subprocess.check_call(['adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
19       "[START_DIR]/skia/resources",
20       "/sdcard/revenge_of_the_skiabot/resources"
21     ],
22     "infra_step": true,
23     "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
24     "~followup_annotations": [
25       "@@@STEP_LOG_LINE@python.inline@@@@",
26       "@@@STEP_LOG_LINE@python.inline@import os@@@",
27       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
28       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
29       "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
30       "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
31       "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
32       "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
33       "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
34       "@@@STEP_LOG_LINE@python.inline@    continue@@@",
35       "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
36       "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
37       "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['adb', 'push',@@@",
38       "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
39       "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
40       "@@@STEP_LOG_END@python.inline@@@"
41     ]
42   },
43   {
44     "cmd": [
45       "python",
46       "-u",
47       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
48       "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
49       "/path/to/tmp/"
50     ],
51     "infra_step": true,
52     "name": "Get downloaded SKP VERSION"
53   },
54   {
55     "cmd": [
56       "python",
57       "-u",
58       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
59       "42",
60       "[START_DIR]/tmp/SKP_VERSION"
61     ],
62     "infra_step": true,
63     "name": "write SKP_VERSION"
64   },
65   {
66     "cmd": [
67       "adb",
68       "shell",
69       "cat",
70       "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
71     ],
72     "cwd": "[START_DIR]/skia",
73     "infra_step": true,
74     "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION",
75     "stdout": "/path/to/tmp/"
76   },
77   {
78     "cmd": [
79       "adb",
80       "shell",
81       "rm",
82       "-f",
83       "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
84     ],
85     "cwd": "[START_DIR]/skia",
86     "infra_step": true,
87     "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
88   },
89   {
90     "cmd": [
91       "adb",
92       "shell",
93       "rm",
94       "-rf",
95       "/sdcard/revenge_of_the_skiabot/skps"
96     ],
97     "cwd": "[START_DIR]/skia",
98     "infra_step": true,
99     "name": "rm /sdcard/revenge_of_the_skiabot/skps"
100   },
101   {
102     "cmd": [
103       "adb",
104       "shell",
105       "mkdir",
106       "-p",
107       "/sdcard/revenge_of_the_skiabot/skps"
108     ],
109     "cwd": "[START_DIR]/skia",
110     "infra_step": true,
111     "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
112   },
113   {
114     "cmd": [
115       "python",
116       "-u",
117       "\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    subprocess.check_call(['adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
118       "[START_DIR]/skp",
119       "/sdcard/revenge_of_the_skiabot/skps"
120     ],
121     "infra_step": true,
122     "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps",
123     "~followup_annotations": [
124       "@@@STEP_LOG_LINE@python.inline@@@@",
125       "@@@STEP_LOG_LINE@python.inline@import os@@@",
126       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
127       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
128       "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
129       "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
130       "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
131       "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
132       "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
133       "@@@STEP_LOG_LINE@python.inline@    continue@@@",
134       "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
135       "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
136       "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['adb', 'push',@@@",
137       "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
138       "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
139       "@@@STEP_LOG_END@python.inline@@@"
140     ]
141   },
142   {
143     "cmd": [
144       "adb",
145       "push",
146       "[START_DIR]/tmp/SKP_VERSION",
147       "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
148     ],
149     "cwd": "[START_DIR]/skia",
150     "infra_step": true,
151     "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
152   },
153   {
154     "cmd": [
155       "python",
156       "-u",
157       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
158       "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
159       "/path/to/tmp/"
160     ],
161     "infra_step": true,
162     "name": "Get downloaded skimage VERSION"
163   },
164   {
165     "cmd": [
166       "python",
167       "-u",
168       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
169       "42",
170       "[START_DIR]/tmp/SK_IMAGE_VERSION"
171     ],
172     "infra_step": true,
173     "name": "write SK_IMAGE_VERSION"
174   },
175   {
176     "cmd": [
177       "adb",
178       "shell",
179       "cat",
180       "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
181     ],
182     "cwd": "[START_DIR]/skia",
183     "infra_step": true,
184     "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
185     "stdout": "/path/to/tmp/"
186   },
187   {
188     "cmd": [
189       "adb",
190       "shell",
191       "rm",
192       "-f",
193       "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
194     ],
195     "cwd": "[START_DIR]/skia",
196     "infra_step": true,
197     "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
198   },
199   {
200     "cmd": [
201       "adb",
202       "shell",
203       "rm",
204       "-rf",
205       "/sdcard/revenge_of_the_skiabot/images"
206     ],
207     "cwd": "[START_DIR]/skia",
208     "infra_step": true,
209     "name": "rm /sdcard/revenge_of_the_skiabot/images"
210   },
211   {
212     "cmd": [
213       "adb",
214       "shell",
215       "mkdir",
216       "-p",
217       "/sdcard/revenge_of_the_skiabot/images"
218     ],
219     "cwd": "[START_DIR]/skia",
220     "infra_step": true,
221     "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
222   },
223   {
224     "cmd": [
225       "python",
226       "-u",
227       "\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    subprocess.check_call(['adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
228       "[START_DIR]/skimage",
229       "/sdcard/revenge_of_the_skiabot/images"
230     ],
231     "infra_step": true,
232     "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images",
233     "~followup_annotations": [
234       "@@@STEP_LOG_LINE@python.inline@@@@",
235       "@@@STEP_LOG_LINE@python.inline@import os@@@",
236       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
237       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
238       "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
239       "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
240       "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
241       "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
242       "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
243       "@@@STEP_LOG_LINE@python.inline@    continue@@@",
244       "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
245       "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
246       "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['adb', 'push',@@@",
247       "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
248       "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
249       "@@@STEP_LOG_END@python.inline@@@"
250     ]
251   },
252   {
253     "cmd": [
254       "adb",
255       "push",
256       "[START_DIR]/tmp/SK_IMAGE_VERSION",
257       "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
258     ],
259     "cwd": "[START_DIR]/skia",
260     "infra_step": true,
261     "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
262   },
263   {
264     "cmd": [
265       "python",
266       "-u",
267       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
268       "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
269       "/path/to/tmp/"
270     ],
271     "infra_step": true,
272     "name": "Get downloaded SVG VERSION"
273   },
274   {
275     "cmd": [
276       "python",
277       "-u",
278       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
279       "42",
280       "[START_DIR]/tmp/SVG_VERSION"
281     ],
282     "infra_step": true,
283     "name": "write SVG_VERSION"
284   },
285   {
286     "cmd": [
287       "adb",
288       "shell",
289       "cat",
290       "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
291     ],
292     "cwd": "[START_DIR]/skia",
293     "infra_step": true,
294     "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION",
295     "stdout": "/path/to/tmp/"
296   },
297   {
298     "cmd": [
299       "adb",
300       "shell",
301       "rm",
302       "-f",
303       "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
304     ],
305     "cwd": "[START_DIR]/skia",
306     "infra_step": true,
307     "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
308   },
309   {
310     "cmd": [
311       "adb",
312       "shell",
313       "rm",
314       "-rf",
315       "/sdcard/revenge_of_the_skiabot/svgs"
316     ],
317     "cwd": "[START_DIR]/skia",
318     "infra_step": true,
319     "name": "rm /sdcard/revenge_of_the_skiabot/svgs"
320   },
321   {
322     "cmd": [
323       "adb",
324       "shell",
325       "mkdir",
326       "-p",
327       "/sdcard/revenge_of_the_skiabot/svgs"
328     ],
329     "cwd": "[START_DIR]/skia",
330     "infra_step": true,
331     "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
332   },
333   {
334     "cmd": [
335       "python",
336       "-u",
337       "\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    subprocess.check_call(['adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
338       "[START_DIR]/svg",
339       "/sdcard/revenge_of_the_skiabot/svgs"
340     ],
341     "infra_step": true,
342     "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs",
343     "~followup_annotations": [
344       "@@@STEP_LOG_LINE@python.inline@@@@",
345       "@@@STEP_LOG_LINE@python.inline@import os@@@",
346       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
347       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
348       "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
349       "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
350       "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
351       "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
352       "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
353       "@@@STEP_LOG_LINE@python.inline@    continue@@@",
354       "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
355       "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
356       "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['adb', 'push',@@@",
357       "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
358       "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
359       "@@@STEP_LOG_END@python.inline@@@"
360     ]
361   },
362   {
363     "cmd": [
364       "adb",
365       "push",
366       "[START_DIR]/tmp/SVG_VERSION",
367       "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
368     ],
369     "cwd": "[START_DIR]/skia",
370     "infra_step": true,
371     "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
372   },
373   {
374     "cmd": [
375       "adb",
376       "push",
377       "[START_DIR]/out/Debug/nanobench",
378       "/data/local/tmp/"
379     ],
380     "cwd": "[START_DIR]/skia",
381     "infra_step": true,
382     "name": "push nanobench"
383   },
384   {
385     "cmd": [
386       "python",
387       "-u",
388       "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
389       "set -x; /data/local/tmp/nanobench --undefok -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nocpu --pre_log --images --gpuStatsDump true --useThermalManager 1,1,10,1000 --scales 1.0 1.1 --config 8888 nonrendering hwui gles glesmsaa4 glesnvpr4 glesnvprdit4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~keymobi_shop_mobileweb_ebay_com.skp ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
390       "[START_DIR]/tmp/nanobench.sh"
391     ],
392     "infra_step": true,
393     "name": "write nanobench.sh"
394   },
395   {
396     "cmd": [
397       "adb",
398       "push",
399       "[START_DIR]/tmp/nanobench.sh",
400       "/data/local/tmp/"
401     ],
402     "cwd": "[START_DIR]/skia",
403     "infra_step": true,
404     "name": "push nanobench.sh"
405   },
406   {
407     "cmd": [
408       "adb",
409       "logcat",
410       "-c"
411     ],
412     "cwd": "[START_DIR]/skia",
413     "infra_step": true,
414     "name": "clear log"
415   },
416   {
417     "cmd": [
418       "python",
419       "-u",
420       "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh      = sys.argv[2]\nsubprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])\ntry:\n  sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',\n                                        bin_dir + 'rc'])))\nexcept ValueError:\n  print \"Couldn't read the return code.  Probably killed for OOM.\"\n  sys.exit(1)\n",
421       "/data/local/tmp/",
422       "nanobench.sh"
423     ],
424     "name": "nanobench",
425     "~followup_annotations": [
426       "@@@STEP_LOG_LINE@python.inline@@@@",
427       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
428       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
429       "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
430       "@@@STEP_LOG_LINE@python.inline@sh      = sys.argv[2]@@@",
431       "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])@@@",
432       "@@@STEP_LOG_LINE@python.inline@try:@@@",
433       "@@@STEP_LOG_LINE@python.inline@  sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',@@@",
434       "@@@STEP_LOG_LINE@python.inline@                                        bin_dir + 'rc'])))@@@",
435       "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
436       "@@@STEP_LOG_LINE@python.inline@  print \"Couldn't read the return code.  Probably killed for OOM.\"@@@",
437       "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
438       "@@@STEP_LOG_END@python.inline@@@"
439     ]
440   },
441   {
442     "cmd": [
443       "python",
444       "-u",
445       "\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",
446       "[START_DIR]/out/Debug"
447     ],
448     "infra_step": true,
449     "name": "dump log",
450     "~followup_annotations": [
451       "@@@STEP_LOG_LINE@python.inline@@@@",
452       "@@@STEP_LOG_LINE@python.inline@import os@@@",
453       "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
454       "@@@STEP_LOG_LINE@python.inline@import sys@@@",
455       "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
456       "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
457       "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
458       "@@@STEP_LOG_LINE@python.inline@  tokens = line.split()@@@",
459       "@@@STEP_LOG_LINE@python.inline@  if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
460       "@@@STEP_LOG_LINE@python.inline@    addr, path = tokens[-2:]@@@",
461       "@@@STEP_LOG_LINE@python.inline@    local = os.path.join(out, os.path.basename(path))@@@",
462       "@@@STEP_LOG_LINE@python.inline@    if os.path.exists(local):@@@",
463       "@@@STEP_LOG_LINE@python.inline@      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
464       "@@@STEP_LOG_LINE@python.inline@      line = line.replace(addr, addr + ' ' + sym.strip())@@@",
465       "@@@STEP_LOG_LINE@python.inline@  print line@@@",
466       "@@@STEP_LOG_END@python.inline@@@"
467     ]
468   },
469   {
470     "cmd": [
471       "adb",
472       "kill-server"
473     ],
474     "cwd": "[START_DIR]/skia",
475     "infra_step": true,
476     "name": "kill adb server"
477   },
478   {
479     "name": "$result",
480     "recipe_result": null,
481     "status_code": 0
482   }
483 ]