6 "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n"
8 "name": "get swarming bot id",
9 "~followup_annotations": [
10 "@@@STEP_LOG_LINE@python.inline@import os@@@",
11 "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@",
12 "@@@STEP_LOG_END@python.inline@@@"
17 "/opt/infra-android/tools/adb",
22 "cwd": "[START_DIR]/skia",
24 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
25 "CHROME_HEADLESS": "1",
26 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
29 "name": "push file.txt file.txt"
33 "/opt/infra-android/tools/adb",
38 "cwd": "[START_DIR]/skia",
40 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
41 "CHROME_HEADLESS": "1",
42 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
45 "name": "read file.txt"
51 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
52 "/opt/infra-android/tools/adb",
56 "CHROME_HEADLESS": "1",
57 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
60 "name": "rm file.txt",
61 "~followup_annotations": [
62 "@@@STEP_LOG_LINE@python.inline@@@@",
63 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
64 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
65 "@@@STEP_LOG_LINE@python.inline@@@@",
66 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
67 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
68 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
69 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
70 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
71 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
72 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
73 "@@@STEP_LOG_LINE@python.inline@@@@",
74 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
75 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
76 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
77 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
78 "@@@STEP_LOG_LINE@python.inline@try:@@@",
79 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
80 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
81 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
82 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
83 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
84 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
85 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
86 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
87 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
88 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
89 "@@@STEP_LOG_END@python.inline@@@"
96 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
103 "name": "rmtree results_dir"
109 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
118 "name": "makedirs results_dir"
124 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
125 "/opt/infra-android/tools/adb",
129 "CHROME_HEADLESS": "1",
130 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
133 "name": "rm device_results_dir",
134 "~followup_annotations": [
135 "@@@STEP_LOG_LINE@python.inline@@@@",
136 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
137 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
138 "@@@STEP_LOG_LINE@python.inline@@@@",
139 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
140 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
141 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
142 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
143 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
144 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
145 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
146 "@@@STEP_LOG_LINE@python.inline@@@@",
147 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
148 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
149 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
150 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
151 "@@@STEP_LOG_LINE@python.inline@try:@@@",
152 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
153 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
154 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
155 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
156 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
157 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
158 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
159 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
160 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
161 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
162 "@@@STEP_LOG_END@python.inline@@@"
167 "/opt/infra-android/tools/adb",
173 "cwd": "[START_DIR]/skia",
175 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
176 "CHROME_HEADLESS": "1",
177 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
180 "name": "mkdir device_results_dir"
184 "/opt/infra-android/tools/adb",
188 "/sdcard/revenge_of_the_skiabot/resources"
190 "cwd": "[START_DIR]/skia",
192 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
193 "CHROME_HEADLESS": "1",
194 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
197 "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
201 "/opt/infra-android/tools/adb",
203 "[START_DIR]/build/nanobench",
206 "cwd": "[START_DIR]/skia",
208 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
209 "CHROME_HEADLESS": "1",
210 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
213 "name": "push nanobench"
219 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
223 "[START_DIR]/skia/resources",
227 "name": "ls [START_DIR]/skia/resources/*",
228 "~followup_annotations": [
229 "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/bar.jpg@@@",
230 "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/foo.png@@@",
231 "@@@STEP_LOG_END@glob@@@"
236 "/opt/infra-android/tools/adb",
238 "[START_DIR]/skia/resources/bar.jpg",
239 "[START_DIR]/skia/resources/foo.png",
240 "/sdcard/revenge_of_the_skiabot/resources"
242 "cwd": "[START_DIR]/skia",
244 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
245 "CHROME_HEADLESS": "1",
246 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
249 "name": "push --sync [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources"
255 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
259 "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
263 "name": "Get skp VERSION",
264 "~followup_annotations": [
265 "@@@STEP_LOG_LINE@VERSION@42@@@",
266 "@@@STEP_LOG_END@VERSION@@@"
273 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
278 "[START_DIR]/tmp/SKP_VERSION"
281 "name": "write SKP_VERSION",
282 "~followup_annotations": [
283 "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
284 "@@@STEP_LOG_END@SKP_VERSION@@@"
289 "/opt/infra-android/tools/adb",
292 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
294 "cwd": "[START_DIR]/skia",
296 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
297 "CHROME_HEADLESS": "1",
298 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
301 "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
307 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
308 "/opt/infra-android/tools/adb",
309 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
312 "CHROME_HEADLESS": "1",
313 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
316 "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION",
317 "~followup_annotations": [
318 "@@@STEP_LOG_LINE@python.inline@@@@",
319 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
320 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
321 "@@@STEP_LOG_LINE@python.inline@@@@",
322 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
323 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
324 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
325 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
326 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
327 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
328 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
329 "@@@STEP_LOG_LINE@python.inline@@@@",
330 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
331 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
332 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
333 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
334 "@@@STEP_LOG_LINE@python.inline@try:@@@",
335 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
336 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
337 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
338 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
339 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
340 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
341 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
342 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
343 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
344 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
345 "@@@STEP_LOG_END@python.inline@@@"
352 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
353 "/opt/infra-android/tools/adb",
354 "/sdcard/revenge_of_the_skiabot/skps"
357 "CHROME_HEADLESS": "1",
358 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
361 "name": "rm /sdcard/revenge_of_the_skiabot/skps",
362 "~followup_annotations": [
363 "@@@STEP_LOG_LINE@python.inline@@@@",
364 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
365 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
366 "@@@STEP_LOG_LINE@python.inline@@@@",
367 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
368 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
369 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
370 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
371 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
372 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
373 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
374 "@@@STEP_LOG_LINE@python.inline@@@@",
375 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
376 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
377 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
378 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
379 "@@@STEP_LOG_LINE@python.inline@try:@@@",
380 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
381 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
382 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
383 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
384 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
385 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
386 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
387 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
388 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
389 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
390 "@@@STEP_LOG_END@python.inline@@@"
395 "/opt/infra-android/tools/adb",
399 "/sdcard/revenge_of_the_skiabot/skps"
401 "cwd": "[START_DIR]/skia",
403 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
404 "CHROME_HEADLESS": "1",
405 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
408 "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
414 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
422 "name": "ls [START_DIR]/skp/*",
423 "~followup_annotations": [
424 "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/bar.jpg@@@",
425 "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/foo.png@@@",
426 "@@@STEP_LOG_END@glob@@@"
431 "/opt/infra-android/tools/adb",
433 "[START_DIR]/skp/bar.jpg",
434 "[START_DIR]/skp/foo.png",
435 "/sdcard/revenge_of_the_skiabot/skps"
437 "cwd": "[START_DIR]/skia",
439 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
440 "CHROME_HEADLESS": "1",
441 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
444 "name": "push --sync [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps"
448 "/opt/infra-android/tools/adb",
450 "[START_DIR]/tmp/SKP_VERSION",
451 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
453 "cwd": "[START_DIR]/skia",
455 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
456 "CHROME_HEADLESS": "1",
457 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
460 "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
466 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
470 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
474 "name": "Get skimage VERSION",
475 "~followup_annotations": [
476 "@@@STEP_LOG_LINE@VERSION@42@@@",
477 "@@@STEP_LOG_END@VERSION@@@"
484 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
489 "[START_DIR]/tmp/SK_IMAGE_VERSION"
492 "name": "write SK_IMAGE_VERSION",
493 "~followup_annotations": [
494 "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
495 "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
500 "/opt/infra-android/tools/adb",
503 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
505 "cwd": "[START_DIR]/skia",
507 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
508 "CHROME_HEADLESS": "1",
509 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
512 "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
518 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
519 "/opt/infra-android/tools/adb",
520 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
523 "CHROME_HEADLESS": "1",
524 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
527 "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
528 "~followup_annotations": [
529 "@@@STEP_LOG_LINE@python.inline@@@@",
530 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
531 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
532 "@@@STEP_LOG_LINE@python.inline@@@@",
533 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
534 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
535 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
536 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
537 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
538 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
539 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
540 "@@@STEP_LOG_LINE@python.inline@@@@",
541 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
542 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
543 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
544 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
545 "@@@STEP_LOG_LINE@python.inline@try:@@@",
546 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
547 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
548 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
549 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
550 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
551 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
552 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
553 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
554 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
555 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
556 "@@@STEP_LOG_END@python.inline@@@"
563 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
564 "/opt/infra-android/tools/adb",
565 "/sdcard/revenge_of_the_skiabot/images"
568 "CHROME_HEADLESS": "1",
569 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
572 "name": "rm /sdcard/revenge_of_the_skiabot/images",
573 "~followup_annotations": [
574 "@@@STEP_LOG_LINE@python.inline@@@@",
575 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
576 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
577 "@@@STEP_LOG_LINE@python.inline@@@@",
578 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
579 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
580 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
581 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
582 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
583 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
584 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
585 "@@@STEP_LOG_LINE@python.inline@@@@",
586 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
587 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
588 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
589 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
590 "@@@STEP_LOG_LINE@python.inline@try:@@@",
591 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
592 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
593 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
594 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
595 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
596 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
597 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
598 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
599 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
600 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
601 "@@@STEP_LOG_END@python.inline@@@"
606 "/opt/infra-android/tools/adb",
610 "/sdcard/revenge_of_the_skiabot/images"
612 "cwd": "[START_DIR]/skia",
614 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
615 "CHROME_HEADLESS": "1",
616 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
619 "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
625 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
629 "[START_DIR]/skimage",
633 "name": "ls [START_DIR]/skimage/*",
634 "~followup_annotations": [
635 "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/bar.jpg@@@",
636 "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/foo.png@@@",
637 "@@@STEP_LOG_END@glob@@@"
642 "/opt/infra-android/tools/adb",
644 "[START_DIR]/skimage/bar.jpg",
645 "[START_DIR]/skimage/foo.png",
646 "/sdcard/revenge_of_the_skiabot/images"
648 "cwd": "[START_DIR]/skia",
650 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
651 "CHROME_HEADLESS": "1",
652 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
655 "name": "push --sync [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images"
659 "/opt/infra-android/tools/adb",
661 "[START_DIR]/tmp/SK_IMAGE_VERSION",
662 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
664 "cwd": "[START_DIR]/skia",
666 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
667 "CHROME_HEADLESS": "1",
668 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
671 "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
677 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
681 "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
685 "name": "Get svg VERSION",
686 "~followup_annotations": [
687 "@@@STEP_LOG_LINE@VERSION@42@@@",
688 "@@@STEP_LOG_END@VERSION@@@"
695 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
700 "[START_DIR]/tmp/SVG_VERSION"
703 "name": "write SVG_VERSION",
704 "~followup_annotations": [
705 "@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
706 "@@@STEP_LOG_END@SVG_VERSION@@@"
711 "/opt/infra-android/tools/adb",
714 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
716 "cwd": "[START_DIR]/skia",
718 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
719 "CHROME_HEADLESS": "1",
720 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
723 "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION"
729 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
730 "/opt/infra-android/tools/adb",
731 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
734 "CHROME_HEADLESS": "1",
735 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
738 "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION",
739 "~followup_annotations": [
740 "@@@STEP_LOG_LINE@python.inline@@@@",
741 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
742 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
743 "@@@STEP_LOG_LINE@python.inline@@@@",
744 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
745 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
746 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
747 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
748 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
749 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
750 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
751 "@@@STEP_LOG_LINE@python.inline@@@@",
752 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
753 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
754 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
755 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
756 "@@@STEP_LOG_LINE@python.inline@try:@@@",
757 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
758 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
759 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
760 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
761 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
762 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
763 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
764 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
765 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
766 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
767 "@@@STEP_LOG_END@python.inline@@@"
774 "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(\n cmd, stderr=subprocess.STDOUT).decode('utf-8')\nexcept subprocess.CalledProcessError as e:\n output = e.output.decode('utf-8')\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n",
775 "/opt/infra-android/tools/adb",
776 "/sdcard/revenge_of_the_skiabot/svgs"
779 "CHROME_HEADLESS": "1",
780 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
783 "name": "rm /sdcard/revenge_of_the_skiabot/svgs",
784 "~followup_annotations": [
785 "@@@STEP_LOG_LINE@python.inline@@@@",
786 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
787 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
788 "@@@STEP_LOG_LINE@python.inline@@@@",
789 "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
790 "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
791 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
792 "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
793 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
794 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
795 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
796 "@@@STEP_LOG_LINE@python.inline@@@@",
797 "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
798 "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
799 "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
800 "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
801 "@@@STEP_LOG_LINE@python.inline@try:@@@",
802 "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(@@@",
803 "@@@STEP_LOG_LINE@python.inline@ cmd, stderr=subprocess.STDOUT).decode('utf-8')@@@",
804 "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
805 "@@@STEP_LOG_LINE@python.inline@ output = e.output.decode('utf-8')@@@",
806 "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
807 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
808 "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
809 "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
810 "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
811 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@",
812 "@@@STEP_LOG_END@python.inline@@@"
817 "/opt/infra-android/tools/adb",
821 "/sdcard/revenge_of_the_skiabot/svgs"
823 "cwd": "[START_DIR]/skia",
825 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
826 "CHROME_HEADLESS": "1",
827 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
830 "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
836 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
844 "name": "ls [START_DIR]/svg/*",
845 "~followup_annotations": [
846 "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/bar.jpg@@@",
847 "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/foo.png@@@",
848 "@@@STEP_LOG_END@glob@@@"
853 "/opt/infra-android/tools/adb",
855 "[START_DIR]/svg/bar.jpg",
856 "[START_DIR]/svg/foo.png",
857 "/sdcard/revenge_of_the_skiabot/svgs"
859 "cwd": "[START_DIR]/skia",
861 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
862 "CHROME_HEADLESS": "1",
863 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
866 "name": "push --sync [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs"
870 "/opt/infra-android/tools/adb",
872 "[START_DIR]/tmp/SVG_VERSION",
873 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
875 "cwd": "[START_DIR]/skia",
877 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
878 "CHROME_HEADLESS": "1",
879 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
882 "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
888 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
892 "set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/nanobench --some-flag; echo $? >/data/local/tmp/rc",
893 "[START_DIR]/tmp/nanobench.sh"
896 "name": "write nanobench.sh",
897 "~followup_annotations": [
898 "@@@STEP_LOG_LINE@nanobench.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/nanobench --some-flag; echo $? >/data/local/tmp/rc@@@",
899 "@@@STEP_LOG_END@nanobench.sh@@@"
904 "/opt/infra-android/tools/adb",
906 "[START_DIR]/tmp/nanobench.sh",
909 "cwd": "[START_DIR]/skia",
911 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
912 "CHROME_HEADLESS": "1",
913 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
916 "name": "push nanobench.sh"
920 "/opt/infra-android/tools/adb",
924 "cwd": "[START_DIR]/skia",
926 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
927 "CHROME_HEADLESS": "1",
928 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
937 "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['/opt/infra-android/tools/adb', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output([\n '/opt/infra-android/tools/adb', 'shell', 'cat', bin_dir + 'rc']).decode('utf-8')))\nexcept ValueError:\n print(\"Couldn't read the return code. Probably killed for OOM.\")\n sys.exit(1)\n",
942 "~followup_annotations": [
943 "@@@STEP_LOG_LINE@python.inline@@@@",
944 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
945 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
946 "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
947 "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@",
948 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/opt/infra-android/tools/adb', 'shell', 'sh', bin_dir + sh])@@@",
949 "@@@STEP_LOG_LINE@python.inline@try:@@@",
950 "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output([@@@",
951 "@@@STEP_LOG_LINE@python.inline@ '/opt/infra-android/tools/adb', 'shell', 'cat', bin_dir + 'rc']).decode('utf-8')))@@@",
952 "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
953 "@@@STEP_LOG_LINE@python.inline@ print(\"Couldn't read the return code. Probably killed for OOM.\")@@@",
954 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
955 "@@@STEP_LOG_END@python.inline@@@"
964 "/opt/infra-android/tools/adb",
966 "/sdcard/revenge_of_the_skiabot/perf",
967 "[CLEANUP]/adb_pull_tmp_1"
969 "cwd": "[START_DIR]/skia",
971 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
972 "CHROME_HEADLESS": "1",
973 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
976 "name": "adb pull.pull /sdcard/revenge_of_the_skiabot/perf",
977 "~followup_annotations": [
978 "@@@STEP_NEST_LEVEL@1@@@"
985 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
989 "[CLEANUP]/adb_pull_tmp_1",
993 "name": "adb pull.list pulled files",
994 "~followup_annotations": [
995 "@@@STEP_NEST_LEVEL@1@@@",
996 "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/1.png@@@",
997 "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/2.png@@@",
998 "@@@STEP_LOG_END@glob@@@"
1005 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
1007 "/path/to/tmp/json",
1009 "[CLEANUP]/adb_pull_tmp_1/1.png",
1010 "[START_DIR]/[SWARM_OUT_DIR]"
1013 "name": "adb pull.copy 1.png",
1014 "~followup_annotations": [
1015 "@@@STEP_NEST_LEVEL@1@@@"
1022 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
1024 "/path/to/tmp/json",
1026 "[CLEANUP]/adb_pull_tmp_1/2.png",
1027 "[START_DIR]/[SWARM_OUT_DIR]"
1030 "name": "adb pull.copy 2.png",
1031 "~followup_annotations": [
1032 "@@@STEP_NEST_LEVEL@1@@@"
1039 "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output([\n '/opt/infra-android/tools/adb', 'logcat', '-d']).decode('utf-8', errors='ignore')\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 try:\n sym = subprocess.check_output([\n 'addr2line', '-Cfpe', local, addr]).decode('utf-8')\n line = line.replace(addr, addr + ' ' + sym.strip())\n except subprocess.CalledProcessError:\n pass\n print(line)\n",
1043 "CHROME_HEADLESS": "1",
1044 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
1049 "~followup_annotations": [
1050 "@@@STEP_LOG_LINE@python.inline@@@@",
1051 "@@@STEP_LOG_LINE@python.inline@import os@@@",
1052 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
1053 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
1054 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
1055 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([@@@",
1056 "@@@STEP_LOG_LINE@python.inline@ '/opt/infra-android/tools/adb', 'logcat', '-d']).decode('utf-8', errors='ignore')@@@",
1057 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
1058 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
1059 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
1060 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
1061 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
1062 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
1063 "@@@STEP_LOG_LINE@python.inline@ try:@@@",
1064 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output([@@@",
1065 "@@@STEP_LOG_LINE@python.inline@ 'addr2line', '-Cfpe', local, addr]).decode('utf-8')@@@",
1066 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
1067 "@@@STEP_LOG_LINE@python.inline@ except subprocess.CalledProcessError:@@@",
1068 "@@@STEP_LOG_LINE@python.inline@ pass@@@",
1069 "@@@STEP_LOG_LINE@python.inline@ print(line)@@@",
1070 "@@@STEP_LOG_END@python.inline@@@"
1075 "/opt/infra-android/tools/adb",
1078 "cwd": "[START_DIR]/skia",
1080 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
1081 "CHROME_HEADLESS": "1",
1082 "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
1085 "name": "kill adb server"