diff --git a/infra/bots/recipe_modules/flavor/android.py b/infra/bots/recipe_modules/flavor/android.py index 39c75a63d6..e4944a67af 100644 --- a/infra/bots/recipe_modules/flavor/android.py +++ b/infra/bots/recipe_modules/flavor/android.py @@ -532,23 +532,29 @@ time.sleep(60) def copy_directory_contents_to_device(self, host, device): # Copy the tree, avoiding hidden directories and resolving symlinks. - self.m.run(self.m.python.inline, 'push %s/* %s' % (host, device), - program=""" - import os - import subprocess - import sys - host = sys.argv[1] - device = sys.argv[2] - for d, _, fs in os.walk(host): - p = os.path.relpath(d, host) - if p != '.' and p.startswith('.'): - continue - for f in fs: - print os.path.join(p,f) - subprocess.check_call(['%s', 'push', - os.path.realpath(os.path.join(host, p, f)), - os.path.join(device, p, f)]) - """ % self.ADB_BINARY, args=[host, device], infra_step=True) + sep = self.m.path.sep + host_str = str(host).rstrip(sep) + sep + device = device.rstrip('/') + with self.m.step.nest('push %s* %s' % (host_str, device)): + contents = self.m.file.listdir('list %s' % host, host, recursive=True, + test_data=['file1', + 'subdir' + sep + 'file2', + '.file3', + '.ignore' + sep + 'file4']) + for path in contents: + path_str = str(path) + assert path_str.startswith(host_str), ( + 'expected %s to have %s as a prefix' % (path_str, host_str)) + relpath = path_str[len(host_str):] + # NOTE(dogben): Previous logic used os.walk and skipped directories + # starting with '.', but not files starting with '.'. It's not clear + # what the reason was (maybe skipping .git?), but I'm keeping that + # behavior here. + if self.m.path.dirname(relpath).startswith('.'): + continue + device_path = device + '/' + relpath # Android paths use / + self._adb('push %s' % path, 'push', + self.m.path.realpath(path), device_path) def copy_directory_contents_to_host(self, device, host): # TODO(borenet): When all of our devices are on Android 6.0 and up, we can diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json index c890f58e5d..372cb4e7fc 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json index 6b91e08fe8..bd7c834504 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json index 66f24e5b6f..378e2fdf70 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json index 4becdab6e0..7c768d7ac9 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json @@ -239,37 +239,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/mskp" }, + { + "cmd": [], + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/mskp", - "/sdcard/revenge_of_the_skiabot/mskp" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.list [START_DIR]/mskp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/mskp/.file3", + "/sdcard/revenge_of_the_skiabot/mskp/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp", + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/mskp/file1", + "/sdcard/revenge_of_the_skiabot/mskp/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/mskp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/mskp/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json index 363d8341c4..6398009746 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json index 45e0eb04f1..a7da2e5f3b 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json index 036bd18520..06609f72c9 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json index d7e9f475b4..a2dbb24554 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN.json @@ -230,37 +230,87 @@ "@@@STEP_LOG_END@python.inline@@@" ] }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -362,37 +412,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -510,37 +610,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -658,37 +808,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Debug-All-Android_Vulkan.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Debug-All-Android_Vulkan.json index 93567bdc3c..860d9f1c9b 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Debug-All-Android_Vulkan.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Debug-All-Android_Vulkan.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed.json b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed.json index 45667b1134..7e900028c0 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_golo.json b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_golo.json index 83ccbf288c..794c19d63d 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_golo.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_golo.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_once.json b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_once.json index baf8179827..c427fa988c 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_once.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/cpu_scale_failed_once.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/failed_infra_step.json b/infra/bots/recipe_modules/flavor/examples/full.expected/failed_infra_step.json index 6de31b4eec..042bbeb784 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/failed_infra_step.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/failed_infra_step.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -420,37 +520,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -568,37 +718,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/failed_read_version.json b/infra/bots/recipe_modules/flavor/examples/full.expected/failed_read_version.json index 2d73c6ef96..57fd360264 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/failed_read_version.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/failed_read_version.json @@ -140,37 +140,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -272,37 +322,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -469,37 +569,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -617,37 +767,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/retry_adb_command.json b/infra/bots/recipe_modules/flavor/examples/full.expected/retry_adb_command.json index 02b3b44971..5bca9a1989 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.expected/retry_adb_command.json +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/retry_adb_command.json @@ -190,37 +190,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources (attempt 2)" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -322,37 +372,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -470,37 +570,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -618,37 +768,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-All-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-All-Android.json index 971373453a..4ad1b56710 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-All-Android.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-All-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-All-Android.json index 1716cee2d8..1d9e20eda8 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-All-Android.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_NoGPUThreads.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_NoGPUThreads.json index b2508ed4bf..a325df3fc1 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_NoGPUThreads.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_NoGPUThreads.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android.json index ce4588ffb9..989cef71a9 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan.json index f121785c3a..6e6d3b0d77 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-P30-GPU-MaliG76-arm64-Release-All-Android_Vulkan.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Release-All-Android.json b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Release-All-Android.json index 9ff30895c5..ae87cc6c36 100644 --- a/infra/bots/recipes/perf.expected/Perf-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Release-All-Android.json +++ b/infra/bots/recipes/perf.expected/Perf-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf_skottietrace.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json b/infra/bots/recipes/perf_skottietrace.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json index 2b5d844302..a5675f6b13 100644 --- a/infra/bots/recipes/perf_skottietrace.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json +++ b/infra/bots/recipes/perf_skottietrace.expected/Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/lotties" }, + { + "cmd": [], + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/lottie-samples", - "/sdcard/revenge_of_the_skiabot/lotties" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.list [START_DIR]/lottie-samples", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/.file3", + "/sdcard/revenge_of_the_skiabot/lotties/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties", + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/file1", + "/sdcard/revenge_of_the_skiabot/lotties/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/subdir/file2", + "/sdcard/revenge_of_the_skiabot/lotties/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf_skottietrace.expected/skottietracing_parse_trace_error.json b/infra/bots/recipes/perf_skottietrace.expected/skottietracing_parse_trace_error.json index 445502b781..98d6685d28 100644 --- a/infra/bots/recipes/perf_skottietrace.expected/skottietracing_parse_trace_error.json +++ b/infra/bots/recipes/perf_skottietrace.expected/skottietracing_parse_trace_error.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/lotties" }, + { + "cmd": [], + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/lottie-samples", - "/sdcard/revenge_of_the_skiabot/lotties" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.list [START_DIR]/lottie-samples", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/.file3", + "/sdcard/revenge_of_the_skiabot/lotties/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties", + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/file1", + "/sdcard/revenge_of_the_skiabot/lotties/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/subdir/file2", + "/sdcard/revenge_of_the_skiabot/lotties/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/perf_skottietrace.expected/skottietracing_trybot.json b/infra/bots/recipes/perf_skottietrace.expected/skottietracing_trybot.json index 45733651b2..65d49e5b4c 100644 --- a/infra/bots/recipes/perf_skottietrace.expected/skottietracing_trybot.json +++ b/infra/bots/recipes/perf_skottietrace.expected/skottietracing_trybot.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/lotties" }, + { + "cmd": [], + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/lottie-samples", - "/sdcard/revenge_of_the_skiabot/lotties" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.list [START_DIR]/lottie-samples", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/lottie-samples/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/.file3", + "/sdcard/revenge_of_the_skiabot/lotties/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties", + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/file1", + "/sdcard/revenge_of_the_skiabot/lotties/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/lottie-samples/subdir/file2", + "/sdcard/revenge_of_the_skiabot/lotties/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/lottie-samples/* /sdcard/revenge_of_the_skiabot/lotties.push [START_DIR]/lottie-samples/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_CCPR_Skpbench.json b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_CCPR_Skpbench.json index 253d330a06..c409049d43 100644 --- a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_CCPR_Skpbench.json +++ b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_CCPR_Skpbench.json @@ -143,37 +143,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json index 34db4bcc9d..09ed82f860 100644 --- a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json +++ b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp.json @@ -143,37 +143,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/mskp" }, + { + "cmd": [], + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/mskp", - "/sdcard/revenge_of_the_skiabot/mskp" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.list [START_DIR]/mskp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/mskp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/mskp/.file3", + "/sdcard/revenge_of_the_skiabot/mskp/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp", + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/mskp/file1", + "/sdcard/revenge_of_the_skiabot/mskp/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/mskp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/mskp/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/mskp/* /sdcard/revenge_of_the_skiabot/mskp.push [START_DIR]/mskp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/skpbench.expected/trybot.json b/infra/bots/recipes/skpbench.expected/trybot.json index 0a672649db..8f74c6f102 100644 --- a/infra/bots/recipes/skpbench.expected/trybot.json +++ b/infra/bots/recipes/skpbench.expected/trybot.json @@ -143,37 +143,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json index d613cafd58..eb67ee4508 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android.json index 4fc65dba4a..71636e2e56 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android_NoGPUThreads.json b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android_NoGPUThreads.json index 9d5ef8d527..caa8cb6ad6 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android_NoGPUThreads.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-All-Android_NoGPUThreads.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Release-All-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Release-All-Android_Vulkan.json index 9f429161ce..7ba31b2f7f 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Release-All-Android_Vulkan.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Release-All-Android_Vulkan.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-MotoG4-CPU-Snapdragon617-arm-Release-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-MotoG4-CPU-Snapdragon617-arm-Release-All-Android.json index 0d395daa53..342dfc0270 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-MotoG4-CPU-Snapdragon617-arm-Release-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-MotoG4-CPU-Snapdragon617-arm-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-All-Android_CCPR.json b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-All-Android_CCPR.json index d1a3aaac21..7afc1fbb74 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-All-Android_CCPR.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-All-Android_CCPR.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-All-Android.json index 0ab41d56e3..6d4942a6e6 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android.json index 4948d9178c..5b358ad847 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json index 8fa0761c90..a34f3ef0c6 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm-Debug-All-Android_ASAN.json @@ -134,37 +134,87 @@ "@@@STEP_LOG_END@python.inline@@@" ] }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -266,37 +316,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -414,37 +514,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -562,37 +712,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm64-Debug-All-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm64-Debug-All-Android_Vulkan.json index b43e0a0a51..1bcac91858 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm64-Debug-All-Android_Vulkan.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel-GPU-Adreno530-arm64-Debug-All-Android_Vulkan.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android.json index 19ebc9a545..b620390e8f 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel3-GPU-Adreno630-arm64-Debug-All-Android_Vulkan.json b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel3-GPU-Adreno630-arm64-Debug-All-Android_Vulkan.json index 89b6ac5e24..04caf499ce 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel3-GPU-Adreno630-arm64-Debug-All-Android_Vulkan.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-Pixel3-GPU-Adreno630-arm64-Debug-All-Android_Vulkan.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/Test-Android-Clang-TecnoSpark3Pro-GPU-PowerVRGE8320-arm-Debug-All-Android.json b/infra/bots/recipes/test.expected/Test-Android-Clang-TecnoSpark3Pro-GPU-PowerVRGE8320-arm-Debug-All-Android.json index 834f3b0550..918d097a08 100644 --- a/infra/bots/recipes/test.expected/Test-Android-Clang-TecnoSpark3Pro-GPU-PowerVRGE8320-arm-Debug-All-Android.json +++ b/infra/bots/recipes/test.expected/Test-Android-Clang-TecnoSpark3Pro-GPU-PowerVRGE8320-arm-Debug-All-Android.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/usr/bin/adb.1.0.35', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/usr/bin/adb.1.0.35', '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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/usr/bin/adb.1.0.35", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/failed_get_hashes.json b/infra/bots/recipes/test.expected/failed_get_hashes.json index 94f9b468b2..e3a3841737 100644 --- a/infra/bots/recipes/test.expected/failed_get_hashes.json +++ b/infra/bots/recipes/test.expected/failed_get_hashes.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/failed_pull.json b/infra/bots/recipes/test.expected/failed_pull.json index 45c8442441..96e5a9bb4a 100644 --- a/infra/bots/recipes/test.expected/failed_pull.json +++ b/infra/bots/recipes/test.expected/failed_pull.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/failed_push.json b/infra/bots/recipes/test.expected/failed_push.json index c2a92929ce..e57c9911f9 100644 --- a/infra/bots/recipes/test.expected/failed_push.json +++ b/infra/bots/recipes/test.expected/failed_push.json @@ -44,37 +44,183 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "~followup_annotations": [ + "@@@STEP_EXCEPTION@@@" + ] + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@", + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_EXCEPTION@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "kill-server" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.kill adb server after failure of 'push [START_DIR]/skia/resources/file1' (attempt 1)", + "timeout": 30, + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "wait-for-device" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.wait for device after failure of 'push [START_DIR]/skia/resources/file1' (attempt 1)", + "timeout": 180, + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1 (attempt 2)", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_EXCEPTION@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "kill-server" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.kill adb server after failure of 'push [START_DIR]/skia/resources/file1' (attempt 2)", + "timeout": 30, + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "wait-for-device" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.wait for device after failure of 'push [START_DIR]/skia/resources/file1' (attempt 2)", + "timeout": 180, + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1 (attempt 3)", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", "@@@STEP_EXCEPTION@@@" ] }, @@ -145,7 +291,7 @@ }, { "failure": { - "humanReason": "Infra Failure: Step('push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources') (retcode: 1)" + "humanReason": "Infra Failure: Step('push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1 (attempt 3)') (retcode: 1)" }, "name": "$result" } diff --git a/infra/bots/recipes/test.expected/internal_bot_2.json b/infra/bots/recipes/test.expected/internal_bot_2.json index b104684591..ed5f8970cd 100644 --- a/infra/bots/recipes/test.expected/internal_bot_2.json +++ b/infra/bots/recipes/test.expected/internal_bot_2.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.expected/internal_bot_5.json b/infra/bots/recipes/test.expected/internal_bot_5.json index 8aec8ab5d1..a30335ea87 100644 --- a/infra/bots/recipes/test.expected/internal_bot_5.json +++ b/infra/bots/recipes/test.expected/internal_bot_5.json @@ -44,37 +44,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" }, + { + "cmd": [], + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skia/resources", - "/sdcard/revenge_of_the_skiabot/resources" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.list [START_DIR]/skia/resources", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skia/resources/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/.file3", + "/sdcard/revenge_of_the_skiabot/resources/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/file1", + "/sdcard/revenge_of_the_skiabot/resources/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skia/resources/subdir/file2", + "/sdcard/revenge_of_the_skiabot/resources/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -176,37 +226,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" }, + { + "cmd": [], + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skp", - "/sdcard/revenge_of_the_skiabot/skps" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.list [START_DIR]/skp", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skp/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/.file3", + "/sdcard/revenge_of_the_skiabot/skps/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/file1", + "/sdcard/revenge_of_the_skiabot/skps/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skp/subdir/file2", + "/sdcard/revenge_of_the_skiabot/skps/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -324,37 +424,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/images" }, + { + "cmd": [], + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/skimage", - "/sdcard/revenge_of_the_skiabot/images" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.list [START_DIR]/skimage", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/skimage/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/.file3", + "/sdcard/revenge_of_the_skiabot/images/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/file1", + "/sdcard/revenge_of_the_skiabot/images/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/skimage/subdir/file2", + "/sdcard/revenge_of_the_skiabot/images/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { @@ -472,37 +622,87 @@ "infra_step": true, "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" }, + { + "cmd": [], + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" + }, { "cmd": [ - "python", + "vpython", "-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(['/opt/infra-android/tools/adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "listdir", "[START_DIR]/svg", - "/sdcard/revenge_of_the_skiabot/svgs" + "--recursive" ], + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.list [START_DIR]/svg", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.file3@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/.ignore/file4@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/file1@@@", + "@@@STEP_LOG_LINE@listdir@[START_DIR]/svg/subdir/file2@@@", + "@@@STEP_LOG_END@listdir@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/.file3", + "/sdcard/revenge_of_the_skiabot/svgs/.file3" + ], + "cwd": "[START_DIR]/skia", "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", "CHROME_HEADLESS": "1", "PATH": ":RECIPE_REPO[depot_tools]" }, "infra_step": true, - "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3", "~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(['/opt/infra-android/tools/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@@@" + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/file1", + "/sdcard/revenge_of_the_skiabot/svgs/file1" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/file1", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" + ] + }, + { + "cmd": [ + "/opt/infra-android/tools/adb", + "push", + "[START_DIR]/svg/subdir/file2", + "/sdcard/revenge_of_the_skiabot/svgs/subdir/file2" + ], + "cwd": "[START_DIR]/skia", + "env": { + "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/subdir/file2", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@" ] }, { diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py index fd22355c49..1b70e22b53 100644 --- a/infra/bots/recipes/test.py +++ b/infra/bots/recipes/test.py @@ -1183,6 +1183,9 @@ def GenTests(api): ) builder = 'Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-All-Android' + retry_step_name = ('push [START_DIR]/skia/resources/* ' + '/sdcard/revenge_of_the_skiabot/resources.push ' + '[START_DIR]/skia/resources/file1') yield ( api.test('failed_push') + api.properties(buildername=builder, @@ -1204,8 +1207,9 @@ def GenTests(api): ) + api.step_data('get swarming bot id', stdout=api.raw_io.output('build123-m2--device5')) + - api.step_data('push [START_DIR]/skia/resources/* '+ - '/sdcard/revenge_of_the_skiabot/resources', retcode=1) + api.step_data(retry_step_name, retcode=1) + + api.step_data(retry_step_name + ' (attempt 2)', retcode=1) + + api.step_data(retry_step_name + ' (attempt 3)', retcode=1) ) retry_step_name = 'adb pull.pull /sdcard/revenge_of_the_skiabot/dm_out'