Index: infra/bots/recipes/swarm_test.expected/failed_get_hashes.json |
diff --git a/infra/bots/recipes/swarm_test.expected/failed_get_hashes.json b/infra/bots/recipes/swarm_test.expected/failed_get_hashes.json |
index 5469301924dae59188bee0d6ffe2d792260331e9..20555af125ee5d313d20ef0dd505a1f09eab8661 100644 |
--- a/infra/bots/recipes/swarm_test.expected/failed_get_hashes.json |
+++ b/infra/bots/recipes/swarm_test.expected/failed_get_hashes.json |
@@ -1,243 +1,259 @@ |
[ |
{ |
"cmd": [ |
- "which", |
- "adb" |
+ "adb", |
+ "shell", |
+ "mkdir", |
+ "-p", |
+ "/sdcard/revenge_of_the_skiabot/resources" |
+ ], |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" |
+ }, |
+ { |
+ "cmd": [ |
+ "python", |
+ "-u", |
+ "\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", |
+ "[SLAVE_BUILD]/skia/resources", |
+ "/sdcard/revenge_of_the_skiabot/resources" |
], |
- "name": "which adb", |
- "stdout": "/path/to/tmp/", |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", |
"~followup_annotations": [ |
- "step returned non-zero exit code: 1", |
- "@@@STEP_EXCEPTION@@@" |
+ "@@@STEP_LOG_LINE@python.inline@@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import os@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
+ "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ continue@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", |
+ "@@@STEP_LOG_END@python.inline@@@" |
] |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device" |
+ "python", |
+ "-u", |
+ "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
+ "[SLAVE_BUILD]/skia/infra/bots/assets/skp/VERSION", |
+ "/path/to/tmp/" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for device (1)" |
+ "name": "Get downloaded SKP VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge" |
+ "python", |
+ "-u", |
+ "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
+ "42", |
+ "[SLAVE_BUILD]/tmp/SKP_VERSION" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for charge (1)" |
+ "name": "write SKP_VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
- "echo", |
- "$EXTERNAL_STORAGE" |
+ "cat", |
+ "/sdcard/revenge_of_the_skiabot/SKP_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "get EXTERNAL_STORAGE dir", |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION", |
"stdout": "/path/to/tmp/" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "root" |
+ "adb", |
+ "shell", |
+ "rm", |
+ "-f", |
+ "/sdcard/revenge_of_the_skiabot/SKP_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "adb root", |
- "stdout": "/path/to/tmp/" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION" |
}, |
{ |
"cmd": [ |
- "sleep", |
- "10" |
+ "adb", |
+ "shell", |
+ "rm", |
+ "-rf", |
+ "/sdcard/revenge_of_the_skiabot/skps" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/skps" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device" |
+ "adb", |
+ "shell", |
+ "mkdir", |
+ "-p", |
+ "/sdcard/revenge_of_the_skiabot/skps" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for device (2)" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge" |
+ "python", |
+ "-u", |
+ "\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", |
+ "[SLAVE_BUILD]/skp", |
+ "/sdcard/revenge_of_the_skiabot/skps" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for charge (2)" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/skp/* /sdcard/revenge_of_the_skiabot/skps", |
+ "~followup_annotations": [ |
+ "@@@STEP_LOG_LINE@python.inline@@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import os@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
+ "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ continue@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", |
+ "@@@STEP_LOG_END@python.inline@@@" |
+ ] |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/android_kill_skia", |
- "--verbose" |
+ "adb", |
+ "push", |
+ "[SLAVE_BUILD]/tmp/SKP_VERSION", |
+ "/sdcard/revenge_of_the_skiabot/SKP_VERSION" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "kill skia" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "stop" |
+ "python", |
+ "-u", |
+ "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
+ "[SLAVE_BUILD]/skia/infra/bots/assets/skimage/VERSION", |
+ "/path/to/tmp/" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "stop shell" |
+ "name": "Get downloaded skimage VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "dumpsys", |
- "batteryproperties" |
+ "python", |
+ "-u", |
+ "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
+ "42", |
+ "[SLAVE_BUILD]/tmp/SK_IMAGE_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "starting battery stats" |
+ "name": "write SK_IMAGE_VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
"cat", |
- "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" |
+ "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "cat scaling_governor" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION", |
+ "stdout": "/path/to/tmp/" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
- "cat", |
- "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq" |
+ "rm", |
+ "-f", |
+ "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "cat cpu_freq" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_push_if_needed", |
- "--verbose", |
- "[SLAVE_BUILD]/skia/resources", |
- "/storage/emulated/legacy/skiabot/skia_resources" |
+ "adb", |
+ "shell", |
+ "rm", |
+ "-rf", |
+ "/sdcard/revenge_of_the_skiabot/images" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "push resources" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/images" |
}, |
{ |
"cmd": [ |
- "python", |
- "-u", |
- "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
- "[SLAVE_BUILD]/skia/infra/bots/assets/skp/VERSION", |
- "/path/to/tmp/" |
+ "adb", |
+ "shell", |
+ "mkdir", |
+ "-p", |
+ "/sdcard/revenge_of_the_skiabot/images" |
], |
- "name": "Get downloaded SKP VERSION" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "mkdir /sdcard/revenge_of_the_skiabot/images" |
}, |
{ |
"cmd": [ |
"python", |
"-u", |
- "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
- "42", |
- "[SLAVE_BUILD]/tmp/SKP_VERSION" |
+ "\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", |
+ "[SLAVE_BUILD]/skimage", |
+ "/sdcard/revenge_of_the_skiabot/images" |
], |
- "name": "write SKP_VERSION" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/skimage/* /sdcard/revenge_of_the_skiabot/images", |
+ "~followup_annotations": [ |
+ "@@@STEP_LOG_LINE@python.inline@@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import os@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
+ "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ continue@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", |
+ "@@@STEP_LOG_END@python.inline@@@" |
+ ] |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "cat", |
- "/storage/emulated/legacy/skiabot/skia_tmp_dir/SKP_VERSION" |
+ "adb", |
+ "push", |
+ "[SLAVE_BUILD]/tmp/SK_IMAGE_VERSION", |
+ "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "read SKP_VERSION", |
- "stdout": "/path/to/tmp/" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" |
}, |
{ |
"cmd": [ |
"python", |
"-u", |
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
- "[SLAVE_BUILD]/skia/infra/bots/assets/skimage/VERSION", |
+ "[SLAVE_BUILD]/skia/infra/bots/assets/svg/VERSION", |
"/path/to/tmp/" |
], |
- "name": "Get downloaded skimage VERSION" |
+ "name": "Get downloaded SVG VERSION" |
}, |
{ |
"cmd": [ |
@@ -245,59 +261,92 @@ |
"-u", |
"\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
"42", |
- "[SLAVE_BUILD]/tmp/SK_IMAGE_VERSION" |
+ "[SLAVE_BUILD]/tmp/SVG_VERSION" |
], |
- "name": "write SK_IMAGE_VERSION" |
+ "name": "write SVG_VERSION" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
"cat", |
- "/storage/emulated/legacy/skiabot/skia_tmp_dir/SK_IMAGE_VERSION" |
+ "/sdcard/revenge_of_the_skiabot/SVG_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "read SK_IMAGE_VERSION", |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION", |
"stdout": "/path/to/tmp/" |
}, |
{ |
"cmd": [ |
- "python", |
- "-u", |
- "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
- "[SLAVE_BUILD]/skia/infra/bots/assets/svg/VERSION", |
- "/path/to/tmp/" |
+ "adb", |
+ "shell", |
+ "rm", |
+ "-f", |
+ "/sdcard/revenge_of_the_skiabot/SVG_VERSION" |
], |
- "name": "Get downloaded SVG VERSION" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION" |
+ }, |
+ { |
+ "cmd": [ |
+ "adb", |
+ "shell", |
+ "rm", |
+ "-rf", |
+ "/sdcard/revenge_of_the_skiabot/svgs" |
+ ], |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/svgs" |
+ }, |
+ { |
+ "cmd": [ |
+ "adb", |
+ "shell", |
+ "mkdir", |
+ "-p", |
+ "/sdcard/revenge_of_the_skiabot/svgs" |
+ ], |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" |
}, |
{ |
"cmd": [ |
"python", |
"-u", |
- "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
- "42", |
- "[SLAVE_BUILD]/tmp/SVG_VERSION" |
+ "\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", |
+ "[SLAVE_BUILD]/svg", |
+ "/sdcard/revenge_of_the_skiabot/svgs" |
], |
- "name": "write SVG_VERSION" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/svg/* /sdcard/revenge_of_the_skiabot/svgs", |
+ "~followup_annotations": [ |
+ "@@@STEP_LOG_LINE@python.inline@@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import os@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
+ "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ continue@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", |
+ "@@@STEP_LOG_END@python.inline@@@" |
+ ] |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "cat", |
- "/storage/emulated/legacy/skiabot/skia_tmp_dir/SVG_VERSION" |
+ "adb", |
+ "push", |
+ "[SLAVE_BUILD]/tmp/SVG_VERSION", |
+ "/sdcard/revenge_of_the_skiabot/SVG_VERSION" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "read SVG_VERSION", |
- "stdout": "/path/to/tmp/" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION" |
}, |
{ |
"cmd": [ |
@@ -345,55 +394,25 @@ |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
"rm", |
- "-r", |
- "/storage/emulated/legacy/skiabot/skia_dm" |
- ], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "rmdir skia_dm" |
- }, |
- { |
- "cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "if", |
- "[", |
- "-e", |
- "/storage/emulated/legacy/skiabot/skia_dm", |
- "];", |
- "then", |
- "echo", |
- "FILE_EXISTS;", |
- "fi" |
+ "-rf", |
+ "/sdcard/revenge_of_the_skiabot/dm_out" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "exists skia_dm", |
- "stdout": "/path/to/tmp/" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "rm /sdcard/revenge_of_the_skiabot/dm_out" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"shell", |
"mkdir", |
"-p", |
- "/storage/emulated/legacy/skiabot/skia_dm" |
+ "/sdcard/revenge_of_the_skiabot/dm_out" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "mkdir skia_dm" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "mkdir /sdcard/revenge_of_the_skiabot/dm_out" |
}, |
{ |
"cmd": [ |
@@ -425,11 +444,6 @@ |
"[SLAVE_BUILD]/tmp/uninteresting_hashes.txt" |
], |
"cwd": "[SLAVE_BUILD]/skia", |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
"name": "get uninteresting hashes", |
"~followup_annotations": [ |
"step returned non-zero exit code: 1", |
@@ -469,440 +483,112 @@ |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
"push", |
"[SLAVE_BUILD]/tmp/uninteresting_hashes.txt", |
- "/storage/emulated/legacy/skiabot/skia_tmp_dir/uninteresting_hashes.txt" |
+ "/sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "push uninteresting_hashes.txt" |
- }, |
- { |
- "cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/android_run_skia", |
- "--verbose", |
- "--logcat", |
- "-d", |
- "arm_v7_neon", |
- "-t", |
- "Debug", |
- "dm", |
- "--undefok", |
- "--resourcePath", |
- "/storage/emulated/legacy/skiabot/skia_resources", |
- "--skps", |
- "/storage/emulated/legacy/skiabot/skia_skp/skps", |
- "--images", |
- "/storage/emulated/legacy/skiabot/skia_images/dm", |
- "--colorImages", |
- "/storage/emulated/legacy/skiabot/skia_images/colorspace", |
- "--nameByHash", |
- "--properties", |
- "gitHash", |
- "abc123", |
- "master", |
- "client.skia", |
- "builder", |
- "Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Debug", |
- "build_number", |
- "6", |
- "--svgs", |
- "/storage/emulated/legacy/skiabot/skia_svg/svgs", |
- "--key", |
- "arch", |
- "Arm7", |
- "compiler", |
- "GCC", |
- "configuration", |
- "Debug", |
- "cpu_or_gpu", |
- "GPU", |
- "cpu_or_gpu_value", |
- "Tegra3", |
- "model", |
- "Nexus7", |
- "os", |
- "Android", |
- "--uninterestingHashesFile", |
- "/storage/emulated/legacy/skiabot/skia_tmp_dir/uninteresting_hashes.txt", |
- "--writePath", |
- "/storage/emulated/legacy/skiabot/skia_dm", |
- "--nocpu", |
- "--config", |
- "8888", |
- "gpu", |
- "gpusrgb", |
- "serialize-8888", |
- "tiles_rt-8888", |
- "pic-8888", |
- "--src", |
- "tests", |
- "gm", |
- "image", |
- "colorImage", |
- "svg", |
- "--blacklist", |
- "gpusrgb", |
- "image", |
- "_", |
- "_", |
- "_", |
- "test", |
- "_", |
- "GrShape", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed_image", |
- "serialize-8888", |
- "gm", |
- "_", |
- "c_gms", |
- "serialize-8888", |
- "gm", |
- "_", |
- "colortype", |
- "serialize-8888", |
- "gm", |
- "_", |
- "colortype_xfermodes", |
- "serialize-8888", |
- "gm", |
- "_", |
- "drawfilter", |
- "serialize-8888", |
- "gm", |
- "_", |
- "fontmgr_bounds_0.75_0", |
- "serialize-8888", |
- "gm", |
- "_", |
- "fontmgr_bounds_1_-0.25", |
- "serialize-8888", |
- "gm", |
- "_", |
- "fontmgr_bounds", |
- "serialize-8888", |
- "gm", |
- "_", |
- "fontmgr_match", |
- "serialize-8888", |
- "gm", |
- "_", |
- "fontmgr_iter", |
- "serialize-8888", |
- "gm", |
- "_", |
- "imagemasksubset", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bitmapfilters", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bitmapshaders", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed_alpha_bmp", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed_alpha_bmp_shader", |
- "serialize-8888", |
- "gm", |
- "_", |
- "convex_poly_clip", |
- "serialize-8888", |
- "gm", |
- "_", |
- "extractalpha", |
- "serialize-8888", |
- "gm", |
- "_", |
- "filterbitmap_checkerboard_32_32_g8", |
- "serialize-8888", |
- "gm", |
- "_", |
- "filterbitmap_image_mandrill_64", |
- "serialize-8888", |
- "gm", |
- "_", |
- "shadows", |
- "serialize-8888", |
- "gm", |
- "_", |
- "simpleaaclip_aaclip", |
- "serialize-8888", |
- "gm", |
- "_", |
- "composeshader_bitmap", |
- "serialize-8888", |
- "gm", |
- "_", |
- "scaled_tilemodes_npot", |
- "serialize-8888", |
- "gm", |
- "_", |
- "scaled_tilemodes", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed_alpha_image", |
- "serialize-8888", |
- "gm", |
- "_", |
- "bleed_alpha_image_shader", |
- "serialize-8888", |
- "gm", |
- "_", |
- "verylargebitmap", |
- "serialize-8888", |
- "gm", |
- "_", |
- "verylarge_picture_image", |
- "pic-8888", |
- "gm", |
- "_", |
- "drawfilter", |
- "pic-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-picture", |
- "serialize-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-picture", |
- "pic-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-raster", |
- "serialize-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-raster", |
- "pic-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-ctable", |
- "serialize-8888", |
- "gm", |
- "_", |
- "image-cacherator-from-ctable", |
- "pic-8888", |
- "gm", |
- "_", |
- "gamut", |
- "serialize-8888", |
- "gm", |
- "_", |
- "gamut", |
- "_", |
- "image", |
- "_", |
- "interlaced1.png", |
- "_", |
- "image", |
- "_", |
- "interlaced2.png", |
- "_", |
- "image", |
- "_", |
- "interlaced3.png", |
- "_", |
- "image", |
- "_", |
- ".arw", |
- "_", |
- "image", |
- "_", |
- ".cr2", |
- "_", |
- "image", |
- "_", |
- ".dng", |
- "_", |
- "image", |
- "_", |
- ".nef", |
- "_", |
- "image", |
- "_", |
- ".nrw", |
- "_", |
- "image", |
- "_", |
- ".orf", |
- "_", |
- "image", |
- "_", |
- ".raf", |
- "_", |
- "image", |
- "_", |
- ".rw2", |
- "_", |
- "image", |
- "_", |
- ".pef", |
- "_", |
- "image", |
- "_", |
- ".srw", |
- "_", |
- "image", |
- "_", |
- ".ARW", |
- "_", |
- "image", |
- "_", |
- ".CR2", |
- "_", |
- "image", |
- "_", |
- ".DNG", |
- "_", |
- "image", |
- "_", |
- ".NEF", |
- "_", |
- "image", |
- "_", |
- ".NRW", |
- "_", |
- "image", |
- "_", |
- ".ORF", |
- "_", |
- "image", |
- "_", |
- ".RAF", |
- "_", |
- "image", |
- "_", |
- ".RW2", |
- "_", |
- "image", |
- "_", |
- ".PEF", |
- "_", |
- "image", |
- "_", |
- ".SRW" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push [SLAVE_BUILD]/tmp/uninteresting_hashes.txt /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt" |
+ }, |
+ { |
+ "cmd": [ |
+ "adb", |
+ "push", |
+ "[SLAVE_BUILD]/out/Debug/dm", |
+ "/data/local/tmp/" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "dm" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push dm" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_pull_if_needed", |
- "--verbose", |
- "/storage/emulated/legacy/skiabot/skia_dm", |
- "[CUSTOM_[SWARM_OUT_DIR]]/dm" |
+ "python", |
+ "-u", |
+ "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
+ "set -x; /data/local/tmp/dm --undefok --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 master client.skia builder Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-GN_Android build_number 6 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Tegra3 extra_config GN_Android model Nexus7 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --config 8888 gpu gpusrgb serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist gpusrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW; echo $? >/data/local/tmp/rc", |
+ "[SLAVE_BUILD]/tmp/dm.sh" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "pull skia_dm" |
+ "name": "write dm.sh" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "shell", |
- "dumpsys", |
- "batteryproperties" |
+ "adb", |
+ "push", |
+ "[SLAVE_BUILD]/tmp/dm.sh", |
+ "/data/local/tmp/" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "final battery stats" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "push dm.sh" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
- "reboot" |
+ "adb", |
+ "logcat", |
+ "-c" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "reboot" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "clear log" |
}, |
{ |
"cmd": [ |
- "sleep", |
- "10" |
+ "python", |
+ "-u", |
+ "\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", |
+ "/data/local/tmp/", |
+ "dm.sh" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for reboot" |
+ "name": "dm", |
+ "~followup_annotations": [ |
+ "@@@STEP_LOG_LINE@python.inline@@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", |
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
+ "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@", |
+ "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])@@@", |
+ "@@@STEP_LOG_LINE@python.inline@try:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@", |
+ "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@", |
+ "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", |
+ "@@@STEP_LOG_END@python.inline@@@" |
+ ] |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device" |
+ "adb", |
+ "pull", |
+ "/sdcard/revenge_of_the_skiabot/dm_out", |
+ "[CUSTOM_[SWARM_OUT_DIR]]/dm" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for device (3)" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "pull /sdcard/revenge_of_the_skiabot/dm_out [CUSTOM_[SWARM_OUT_DIR]]/dm" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge" |
+ "adb", |
+ "logcat", |
+ "-d" |
], |
- "env": { |
- "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk", |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_ANDROID_VERBOSE_SETUP": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "wait for charge (3)" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "dump log" |
}, |
{ |
"cmd": [ |
- "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb", |
+ "adb", |
+ "reboot" |
+ ], |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "reboot" |
+ }, |
+ { |
+ "cmd": [ |
+ "adb", |
"kill-server" |
], |
- "env": { |
- "BUILDTYPE": "Debug", |
- "CHROME_HEADLESS": "1", |
- "SKIA_OUT": "[SLAVE_BUILD]/out" |
- }, |
- "name": "kill-server" |
+ "cwd": "[SLAVE_BUILD]/skia", |
+ "name": "kill adb server" |
}, |
{ |
"name": "$result", |