Add Correctness tests for Chromecast

Bug: skia:
NOTRY=true
Change-Id: Ib604bad8eda6ba4382b850f7c5f318fb0f114401
Reviewed-on: https://skia-review.googlesource.com/20051
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This commit is contained in:
Kevin Lubick 2017-08-31 10:39:05 -04:00 committed by Skia Commit-Bot
parent a25fbef56a
commit 2dafbd796d
9 changed files with 1434 additions and 34 deletions

View File

@ -184,8 +184,8 @@
"Perf-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-ASAN",
"Perf-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Release",
"Perf-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Release-ASAN",
"Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_SK_CPU_LIMIT_SSE41",
"Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41",
"Perf-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_SK_CPU_LIMIT_SSE41",
"Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug",
"Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE",
"Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan",
@ -266,8 +266,8 @@
"Test-Android-Clang-MotoG4-GPU-Adreno405-arm-Debug-Android",
"Test-Android-Clang-MotoG4-GPU-Adreno405-arm-Release-Android",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_CCPR",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Debug-Android_Vulkan",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-Android",
"Test-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-Android_Vulkan",
"Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Debug-Android",
@ -305,6 +305,10 @@
"Test-ChromeOS-Clang-Chromebook_CB5_311-GPU-TegraK1-arm-Release",
"Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug",
"Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release",
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug",
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release",
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug",
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release",
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug",
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN",
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN",
@ -358,9 +362,9 @@
"Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Release-ASAN",
"Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Release-TSAN",
"Test-Ubuntu17-GCC-Golo-GPU-GT610-x86_64-Release-PreAbandonGpuContext",
"Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_SK_CPU_LIMIT_SSE41",
"Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41",
"Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_PreAbandonGpuContext_SK_CPU_LIMIT_SSE41",
"Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-Valgrind_SK_CPU_LIMIT_SSE41",
"Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug",
"Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE",
"Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan",

View File

@ -36,7 +36,8 @@
"ninja",
"-C",
"[START_DIR]/out/Release",
"nanobench"
"nanobench",
"dm"
],
"cwd": "[START_DIR]/skia",
"env": {
@ -185,11 +186,48 @@
"infra_step": true,
"name": "mkdir /cache/skia/resources"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/bin"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"/cache/skia/nanobench"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete old nanobench"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skia/resources",
"/cache/skia/resources"
],
@ -215,7 +253,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -327,7 +365,7 @@
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skp",
"/cache/skia/skps"
],
@ -353,7 +391,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -482,7 +520,7 @@
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skimage",
"/cache/skia/images"
],
@ -508,7 +546,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -637,7 +675,7 @@
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/svg",
"/cache/skia/svgs"
],
@ -663,7 +701,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -693,7 +731,7 @@
"adb",
"push",
"[START_DIR]/out/Release/dm",
"/cache/skia/"
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
@ -713,7 +751,7 @@
"-t",
"-t",
"root@192.168.1.2",
"/cache/skia/dm",
"/cache/skia/bin/dm",
"--some-flag"
],
"env": {
@ -758,6 +796,55 @@
"infra_step": true,
"name": "pull /cache/skia/perf [CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release/data"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"-r",
"/cache/skia/bin"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete executables"
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect"
},
{
"cmd": [
"adb",
"connect",
"192.168.1.2:5555"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "adb connect 192.168.1.2:5555 (2)"
},
{
"cmd": [
"python",
@ -792,6 +879,20 @@
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect (2)"
},
{
"cmd": [
"adb",

View File

@ -15,6 +15,8 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
super(GNChromecastFlavorUtils, self).__init__(m)
self._ever_ran_adb = False
self._user_ip = ''
self.m.vars.android_bin_dir = self.m.path.join(self.m.vars.android_bin_dir,
'bin')
@property
def user_ip_host(self):
@ -90,8 +92,16 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
self._py('fetch-gn', self.m.vars.skia_dir.join('bin', 'fetch-gn'))
self._run('gn gen', gn, 'gen', self.out_dir, '--args=' + gn_args)
# We only build perf for the chromecasts.
self._run('ninja', ninja, '-C', self.out_dir, 'nanobench')
self._run('ninja', ninja, '-C', self.out_dir, 'nanobench', 'dm')
def install(self):
super(GNChromecastFlavorUtils, self).install()
self._adb('mkdir ' + self.m.vars.android_bin_dir,
'shell', 'mkdir', '-p', self.m.vars.android_bin_dir)
# TODO(kjlubick): Remove this after we are backfilled up and don't need
# to manually delete this
self._ssh('Delete old nanobench', 'rm', '/cache/skia/nanobench',
abort_on_failure=False)
def _adb(self, title, *cmd, **kwargs):
if not self._ever_ran_adb:
@ -131,13 +141,45 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
for f in fs:
print os.path.join(p,f)
hp = os.path.realpath(os.path.join(host, p, f))
if os.stat(hp).st_size > (3 * 1024 * 1024):
if os.stat(hp).st_size > (1.5 * 1024 * 1024):
print "Skipping because it is too big"
else:
subprocess.check_call(['adb', 'push',
hp, os.path.join(device, p, f)])
""", args=[host, device], infra_step=True)
def cleanup_steps(self):
if self._ever_ran_adb:
# To clean up disk space for next time
self._ssh('Delete executables', 'rm', '-r', self.m.vars.android_bin_dir,
abort_on_failure=False)
# Reconnect if was disconnected
self._adb('disconnect')
self._connect_to_remote()
self.m.run(self.m.python.inline, 'dump log', program="""
import os
import subprocess
import sys
out = sys.argv[1]
log = subprocess.check_output(['adb', 'logcat', '-d'])
for line in log.split('\\n'):
tokens = line.split()
if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':
addr, path = tokens[-2:]
local = os.path.join(out, os.path.basename(path))
if os.path.exists(local):
sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])
line = line.replace(addr, addr + ' ' + sym.strip())
print line
""",
args=[self.m.vars.skia_out.join(self.m.vars.configuration)],
infra_step=True,
abort_on_failure=False)
self._adb('disconnect')
self._adb('kill adb server', 'kill-server')
def _ssh(self, title, *cmd, **kwargs):
ssh_cmd = ['ssh', '-oConnectTimeout=15', '-oBatchMode=yes',
'-t', '-t', 'root@%s' % self.user_ip] + list(cmd)
@ -147,9 +189,10 @@ class GNChromecastFlavorUtils(gn_android_flavor.GNAndroidFlavorUtils):
def step(self, name, cmd, **kwargs):
app = self.m.vars.skia_out.join(self.m.vars.configuration, cmd[0])
self._adb('push %s' % cmd[0],
'push', app, self.m.vars.android_bin_dir)
cmd[0] = '%s%s' % (self.m.vars.android_bin_dir, cmd[0])
cmd[0] = '%s/%s' % (self.m.vars.android_bin_dir, cmd[0])
self._ssh(str(name), *cmd)

View File

@ -119,7 +119,8 @@
"ninja",
"-C",
"[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-GCC-arm-Release-Chromecast/Release",
"nanobench"
"nanobench",
"dm"
],
"cwd": "[CUSTOM_/_B_WORK]/skia",
"env": {

View File

@ -56,11 +56,48 @@
"infra_step": true,
"name": "mkdir /cache/skia/resources"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/bin"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"/cache/skia/nanobench"
],
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete old nanobench"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skia/resources",
"/cache/skia/resources"
],
@ -86,7 +123,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -198,7 +235,7 @@
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skp",
"/cache/skia/skps"
],
@ -224,7 +261,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -282,7 +319,7 @@
"adb",
"push",
"[START_DIR]/out/Debug/nanobench",
"/cache/skia/"
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
@ -302,7 +339,7 @@
"-t",
"-t",
"root@192.168.1.2",
"/cache/skia/nanobench",
"/cache/skia/bin/nanobench",
"--nogpu",
"--config",
"8888",
@ -328,6 +365,55 @@
},
"name": "nanobench"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"-r",
"/cache/skia/bin"
],
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete executables"
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect"
},
{
"cmd": [
"adb",
"connect",
"192.168.1.2:5555"
],
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "adb connect 192.168.1.2:5555 (2)"
},
{
"cmd": [
"python",
@ -362,6 +448,20 @@
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Debug",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect (2)"
},
{
"cmd": [
"adb",

View File

@ -56,11 +56,48 @@
"infra_step": true,
"name": "mkdir /cache/skia/resources"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/bin"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"/cache/skia/nanobench"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete old nanobench"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skia/resources",
"/cache/skia/resources"
],
@ -86,7 +123,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -198,7 +235,7 @@
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skp",
"/cache/skia/skps"
],
@ -224,7 +261,7 @@
"@@@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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
@ -318,7 +355,7 @@
"adb",
"push",
"[START_DIR]/out/Release/nanobench",
"/cache/skia/"
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
@ -338,7 +375,7 @@
"-t",
"-t",
"root@192.168.1.2",
"/cache/skia/nanobench",
"/cache/skia/bin/nanobench",
"--nocpu",
"--config",
"gles",
@ -418,6 +455,55 @@
"infra_step": true,
"name": "pull /cache/skia/perf [CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release/data"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"-r",
"/cache/skia/bin"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete executables"
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect"
},
{
"cmd": [
"adb",
"connect",
"192.168.1.2:5555"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "adb connect 192.168.1.2:5555 (2)"
},
{
"cmd": [
"python",
@ -452,6 +538,20 @@
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect (2)"
},
{
"cmd": [
"adb",

View File

@ -0,0 +1,759 @@
[
{
"cmd": [
"python",
"-u",
"\nimport os\nCHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')\nwith open(CHROMECAST_IP_FILE, 'r') as f:\n print f.read()\n"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "read chromecast ip",
"stdout": "/path/to/tmp/",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@CHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')@@@",
"@@@STEP_LOG_LINE@python.inline@with open(CHROMECAST_IP_FILE, 'r') as f:@@@",
"@@@STEP_LOG_LINE@python.inline@ print f.read()@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb",
"connect",
"192.168.1.2:5555"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "adb connect 192.168.1.2:5555"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/resources"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/resources"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/bin"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"/cache/skia/nanobench"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete old nanobench"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skia/resources",
"/cache/skia/resources"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "push [START_DIR]/skia/resources/* /cache/skia/resources",
"~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@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get downloaded SKP VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SKP_VERSION"
],
"infra_step": true,
"name": "write SKP_VERSION"
},
{
"cmd": [
"adb",
"shell",
"cat",
"/cache/skia/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "read /cache/skia/SKP_VERSION",
"stdout": "/path/to/tmp/"
},
{
"cmd": [
"adb",
"shell",
"rm",
"-f",
"/cache/skia/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "rm /cache/skia/SKP_VERSION"
},
{
"cmd": [
"adb",
"shell",
"rm",
"-r",
"/cache/skia/skps"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "rm /cache/skia/skps"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/skps"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/skps"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (1.5 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
"[START_DIR]/skp",
"/cache/skia/skps"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "push [START_DIR]/skp/* /cache/skia/skps",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
"@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
"@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
"@@@STEP_LOG_LINE@python.inline@ continue@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
"@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
"@@@STEP_LOG_LINE@python.inline@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (1.5 * 1024 * 1024):@@@",
"@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
"@@@STEP_LOG_LINE@python.inline@ else:@@@",
"@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
"@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb",
"push",
"[START_DIR]/tmp/SKP_VERSION",
"/cache/skia/SKP_VERSION"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "push [START_DIR]/tmp/SKP_VERSION /cache/skia/SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CUSTOM_[SWARM_OUT_DIR]]/dm"
],
"infra_step": true,
"name": "rmtree dm"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[CUSTOM_[SWARM_OUT_DIR]]/dm"
],
"infra_step": true,
"name": "makedirs dm"
},
{
"cmd": [
"adb",
"shell",
"rm",
"-r",
"/cache/skia/dm_out"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "rm /cache/skia/dm_out"
},
{
"cmd": [
"adb",
"shell",
"mkdir",
"-p",
"/cache/skia/dm_out"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "mkdir /cache/skia/dm_out"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/tmp"
],
"infra_step": true,
"name": "makedirs tmp_dir"
},
{
"cmd": [
"python",
"-u",
"\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[1], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n",
"[START_DIR]/tmp/uninteresting_hashes.txt"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "get uninteresting hashes",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
"@@@STEP_LOG_LINE@python.inline@import math@@@",
"@@@STEP_LOG_LINE@python.inline@import socket@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@import time@@@",
"@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
"@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
"@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
"@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
"@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
"@@@STEP_LOG_LINE@python.inline@ try:@@@",
"@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@",
"@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
"@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@",
"@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[1], 'w') as f:@@@",
"@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@",
"@@@STEP_LOG_LINE@python.inline@ break@@@",
"@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
"@@@STEP_LOG_LINE@python.inline@ print e@@@",
"@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@",
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@",
"@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb",
"push",
"[START_DIR]/tmp/uninteresting_hashes.txt",
"/cache/skia/uninteresting_hashes.txt"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "push [START_DIR]/tmp/uninteresting_hashes.txt /cache/skia/uninteresting_hashes.txt"
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
],
"name": "get swarming bot id",
"stdout": "/path/to/tmp/",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
],
"name": "get swarming task id",
"stdout": "/path/to/tmp/",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb",
"push",
"[START_DIR]/out/Release/dm",
"/cache/skia/bin"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "push dm"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"/cache/skia/bin/dm",
"--undefok",
"--resourcePath",
"/cache/skia/resources",
"--skps",
"/cache/skia/skps",
"--images",
"/cache/skia/resources/color_wheel.jpg",
"--dont_write",
"pdf",
"--randomProcessorTest",
"--threads",
"0",
"--nocpu",
"--config",
"gles",
"8888",
"--src",
"tests",
"gm",
"image",
"colorImage",
"svg",
"--blacklist",
"_",
"svg",
"_",
"svgparse_",
"_",
"test",
"_",
"GrShape",
"_",
"image",
"_",
"interlaced1.png",
"_",
"image",
"_",
"interlaced2.png",
"_",
"image",
"_",
"interlaced3.png",
"_",
"image",
"_",
".arw",
"_",
"image",
"_",
".cr2",
"_",
"image",
"_",
".dng",
"_",
"image",
"_",
".nef",
"_",
"image",
"_",
".nrw",
"_",
"image",
"_",
".orf",
"_",
"image",
"_",
".raf",
"_",
"image",
"_",
".rw2",
"_",
"image",
"_",
".pef",
"_",
"image",
"_",
".srw",
"_",
"image",
"_",
".ARW",
"_",
"image",
"_",
".CR2",
"_",
"image",
"_",
".DNG",
"_",
"image",
"_",
".NEF",
"_",
"image",
"_",
".NRW",
"_",
"image",
"_",
".ORF",
"_",
"image",
"_",
".RAF",
"_",
"image",
"_",
".RW2",
"_",
"image",
"_",
".PEF",
"_",
"image",
"_",
".SRW",
"--match",
"~matrixconvolution",
"~blur_image_filter",
"~blur_0.01",
"~GM_animated-image-blurs"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "dm"
},
{
"cmd": [
"adb",
"pull",
"/cache/skia/dm_out",
"[CUSTOM_[SWARM_OUT_DIR]]/dm"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "pull /cache/skia/dm_out [CUSTOM_[SWARM_OUT_DIR]]/dm"
},
{
"cmd": [
"ssh",
"-oConnectTimeout=15",
"-oBatchMode=yes",
"-t",
"-t",
"root@192.168.1.2",
"rm",
"-r",
"/cache/skia/bin"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"name": "Delete executables"
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect"
},
{
"cmd": [
"adb",
"connect",
"192.168.1.2:5555"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "adb connect 192.168.1.2:5555 (2)"
},
{
"cmd": [
"python",
"-u",
"\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n print line\n",
"[START_DIR]/out/Release"
],
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "dump log",
"~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@out = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
"@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
"@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
"@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
"@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
"@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
"@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
"@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
"@@@STEP_LOG_LINE@python.inline@ print line@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"adb"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "disconnect (2)"
},
{
"cmd": [
"adb",
"kill-server"
],
"cwd": "[START_DIR]/skia",
"env": {
"BUILDTYPE": "Release",
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
"SKIA_OUT": "[START_DIR]/out"
},
"infra_step": true,
"name": "kill adb server"
},
{
"name": "$result",
"recipe_result": null,
"status_code": 0
}
]

View File

@ -59,6 +59,9 @@ def dm_flags(api, bot):
if '-x86-' in bot and not 'NexusPlayer' in bot:
args.extend(['--threads', '4'])
if 'Chromecast' in bot:
args.extend(['--threads', '0'])
# Avoid issues with dynamically exceeding resource cache limits.
if 'Test' in bot and 'DISCARDABLE' in bot:
args.extend(['--threads', '0'])
@ -213,6 +216,9 @@ def dm_flags(api, bot):
# Just run GLES for now - maybe add gles_msaa4 in the future
configs = ['gles']
if 'Chromecast' in bot:
configs = ['gles', '8888']
# Test coverage counting path renderer.
if 'CCPR' in bot:
configs = [c for c in configs if c == 'gl' or c == 'gles']
@ -312,7 +318,7 @@ def dm_flags(api, bot):
blacklist('_ image gen_platf rle8-height-negative.bmp')
blacklist('_ image gen_platf rle4-height-negative.bmp')
if 'Android' in bot or 'iOS' in bot:
if 'Android' in bot or 'iOS' in bot or 'Chromecast' in bot:
# This test crashes the N9 (perhaps because of large malloc/frees). It also
# is fairly slow and not platform-specific. So we just disable it on all of
# Android and iOS. skia:5438
@ -370,7 +376,7 @@ def dm_flags(api, bot):
for test in ['bleed_alpha_image', 'bleed_alpha_image_shader']:
blacklist(['serialize-8888', 'gm', '_', test])
# It looks like we skip these only for out-of-memory concerns.
if 'Win' in bot or 'Android' in bot:
if 'Win' in bot or 'Android' in bot or 'Chromecast' in bot:
for test in ['verylargebitmap', 'verylarge_picture_image']:
blacklist(['serialize-8888', 'gm', '_', test])
if 'Mac' in bot and 'CPU' in bot and 'Release' in bot:
@ -473,6 +479,12 @@ def dm_flags(api, bot):
if 'AndroidOne' in bot: # skia:4711
match.append('~WritePixels')
if 'Chromecast' in bot: # skia:6581
match.append('~matrixconvolution')
match.append('~blur_image_filter')
match.append('~blur_0.01')
match.append('~GM_animated-image-blurs')
if 'NexusPlayer' in bot:
match.append('~ResourceCache')
@ -763,6 +775,17 @@ def test_steps(api):
if api.vars.upload_dm_results:
args.extend(['--writePath', api.flavor.device_dirs.dm_dir])
if 'Chromecast' in api.vars.builder_cfg.get('os', ''):
# Due to limited disk space, we only deal with skps and one image.
args = [
'dm',
'--undefok', # This helps branches that may not know new flags.
'--resourcePath', api.flavor.device_dirs.resource_dir,
'--skps', api.flavor.device_dirs.skp_dir,
'--images', api.flavor.device_path_join(
api.flavor.device_dirs.resource_dir, 'color_wheel.jpg'),
]
args.extend(dm_flags(api, api.vars.builder_name))
env = {}
@ -815,7 +838,10 @@ def RunSteps(api):
env['IOS_MOUNT_POINT'] = api.vars.slave_dir.join('mnt_iosdevice')
with api.context(env=env):
try:
api.flavor.install_everything()
if 'Chromecast' in api.vars.builder_name:
api.flavor.install(resources=True, skps=True)
else:
api.flavor.install_everything()
test_steps(api)
finally:
api.flavor.cleanup_steps()
@ -840,6 +866,7 @@ TEST_BUILDERS = [
'Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android',
'Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug',
'Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Debug',
'Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release',
'Test-Mac-Clang-MacMini7.1-CPU-AVX-x86_64-Release',
'Test-Mac-Clang-MacMini7.1-GPU-IntelIris5100-x86_64-Debug-CommandBuffer',
'Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN',
@ -901,6 +928,11 @@ def GenTests(api):
if 'Win' in builder:
test += api.platform('win', 64)
if 'Chromecast' in builder:
test += api.step_data(
'read chromecast ip',
stdout=api.raw_io.output('192.168.1.2:5555'))
if 'ChromeOS' in builder:
test += api.step_data(
'read chromeos ip',

View File

@ -1845,6 +1845,30 @@
"Upload-Test-ChromeOS-Clang-Chromebook_CB5_312T-GPU-PowerVRGX6250-arm-Release"
]
},
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug": {
"priority": 0.8,
"tasks": [
"Upload-Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug"
]
},
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release": {
"priority": 0.8,
"tasks": [
"Upload-Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release"
]
},
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug": {
"priority": 0.8,
"tasks": [
"Upload-Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug"
]
},
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release": {
"priority": 0.8,
"tasks": [
"Upload-Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release"
]
},
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug": {
"priority": 0.8,
"tasks": [
@ -13988,6 +14012,134 @@
"max_attempts": 1,
"priority": 0.8
},
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug": {
"dependencies": [
"Build-Debian9-GCC-arm-Debug-Chromecast",
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP"
],
"dimensions": [
"device_os:1.24_82923",
"device_type:chorizo",
"os:Android",
"pool:Skia"
],
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_args": [
"--workdir",
"../../..",
"test",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)"
],
"io_timeout_ns": 2400000000000,
"isolate": "test_skia_bundled_unix.isolate",
"max_attempts": 1,
"priority": 0.8
},
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release": {
"dependencies": [
"Build-Debian9-GCC-arm-Release-Chromecast",
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP"
],
"dimensions": [
"device_os:1.24_82923",
"device_type:chorizo",
"os:Android",
"pool:Skia"
],
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_args": [
"--workdir",
"../../..",
"test",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)"
],
"io_timeout_ns": 2400000000000,
"isolate": "test_skia_bundled_unix.isolate",
"max_attempts": 1,
"priority": 0.8
},
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug": {
"dependencies": [
"Build-Debian9-GCC-arm-Debug-Chromecast",
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP"
],
"dimensions": [
"device_os:1.24_82923",
"device_type:chorizo",
"os:Android",
"pool:Skia"
],
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_args": [
"--workdir",
"../../..",
"test",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)"
],
"io_timeout_ns": 2400000000000,
"isolate": "test_skia_bundled_unix.isolate",
"max_attempts": 1,
"priority": 0.8
},
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release": {
"dependencies": [
"Build-Debian9-GCC-arm-Release-Chromecast",
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateSKP"
],
"dimensions": [
"device_os:1.24_82923",
"device_type:chorizo",
"os:Android",
"pool:Skia"
],
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_args": [
"--workdir",
"../../..",
"test",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)"
],
"io_timeout_ns": 2400000000000,
"isolate": "test_skia_bundled_unix.isolate",
"max_attempts": 1,
"priority": 0.8
},
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug": {
"cipd_packages": [
{
@ -23416,6 +23568,114 @@
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
"Upload-Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug": {
"dependencies": [
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug"
],
"dimensions": [
"cpu:x86-64-avx2",
"gpu:none",
"os:Debian-9.1",
"pool:Skia"
],
"extra_args": [
"--workdir",
"../../..",
"upload_dm_results",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Debug",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)",
"gs_bucket=skia-infra-gm"
],
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
"Upload-Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release": {
"dependencies": [
"Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release"
],
"dimensions": [
"cpu:x86-64-avx2",
"gpu:none",
"os:Debian-9.1",
"pool:Skia"
],
"extra_args": [
"--workdir",
"../../..",
"upload_dm_results",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-CPU-Cortex_A7-arm-Release",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)",
"gs_bucket=skia-infra-gm"
],
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
"Upload-Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug": {
"dependencies": [
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug"
],
"dimensions": [
"cpu:x86-64-avx2",
"gpu:none",
"os:Debian-9.1",
"pool:Skia"
],
"extra_args": [
"--workdir",
"../../..",
"upload_dm_results",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Debug",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)",
"gs_bucket=skia-infra-gm"
],
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
"Upload-Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release": {
"dependencies": [
"Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release"
],
"dimensions": [
"cpu:x86-64-avx2",
"gpu:none",
"os:Debian-9.1",
"pool:Skia"
],
"extra_args": [
"--workdir",
"../../..",
"upload_dm_results",
"repository=<(REPO)",
"buildername=Test-Chromecast-GCC-Chorizo-GPU-Cortex_A7-arm-Release",
"swarm_out_dir=${ISOLATED_OUTDIR}",
"revision=<(REVISION)",
"patch_repo=<(PATCH_REPO)",
"patch_storage=<(PATCH_STORAGE)",
"patch_issue=<(ISSUE)",
"patch_set=<(PATCHSET)",
"gs_bucket=skia-infra-gm"
],
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
"Upload-Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug": {
"dependencies": [
"Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug"