[
  {
    "cmd": [
      "vpython",
      "-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",
      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
    ],
    "name": "get swarming bot id",
    "~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": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/resources"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\nASAN_SETUP = sys.argv[2]\n\ndef wait_for_device():\n  while True:\n    time.sleep(5)\n    print 'Waiting for device'\n    subprocess.check_output([ADB, 'wait-for-device'])\n    bit1 = subprocess.check_output([ADB, 'shell', 'getprop',\n                                   'dev.bootcomplete'])\n    bit2 = subprocess.check_output([ADB, 'shell', 'getprop',\n                                   'sys.boot_completed'])\n    if '1' in bit1 and '1' in bit2:\n      print 'Device detected'\n      break\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\noutput = subprocess.check_output([ADB, 'disable-verity'])\nprint output\n\nif 'already disabled' not in output:\n  print 'Rebooting device'\n  subprocess.check_output([ADB, 'reboot'])\n  wait_for_device()\n\ndef installASAN(revert=False):\n  # ASAN setup script is idempotent, either it installs it or\n  # says it's installed.  Returns True on success, false otherwise.\n  out = subprocess.check_output([ADB, 'wait-for-device'])\n  print out\n  cmd = [ASAN_SETUP]\n  if revert:\n    cmd = [ASAN_SETUP, '--revert']\n  process = subprocess.Popen(cmd, env={'ADB': ADB},\n                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n\n  # this also blocks until command finishes\n  (stdout, stderr) = process.communicate()\n  print stdout\n  print 'Stderr: %s' % stderr\n  return process.returncode == 0\n\nif not installASAN():\n  print 'Trying to revert the ASAN install and then re-install'\n  # ASAN script sometimes has issues if it was interrupted or partially applied\n  # Try reverting it, then re-enabling it\n  if not installASAN(revert=True):\n    raise Exception('reverting ASAN install failed')\n\n  # Sleep because device does not reboot instantly\n  time.sleep(10)\n\n  if not installASAN():\n    raise Exception('Tried twice to setup ASAN and failed.')\n\n# Sleep because device does not reboot instantly\ntime.sleep(10)\nwait_for_device()\n# Sleep again to hopefully avoid error \"secure_mkdirs failed: No such file or\n# directory\" when pushing resources to the device.\ntime.sleep(60)\n",
      "/usr/bin/adb.1.0.35",
      "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8/bin/asan_device_setup"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Setting up device to run ASAN",
    "timeout": 300,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@ASAN_SETUP = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@def wait_for_device():@@@",
      "@@@STEP_LOG_LINE@python.inline@  while True:@@@",
      "@@@STEP_LOG_LINE@python.inline@    time.sleep(5)@@@",
      "@@@STEP_LOG_LINE@python.inline@    print 'Waiting for device'@@@",
      "@@@STEP_LOG_LINE@python.inline@    subprocess.check_output([ADB, 'wait-for-device'])@@@",
      "@@@STEP_LOG_LINE@python.inline@    bit1 = subprocess.check_output([ADB, 'shell', 'getprop',@@@",
      "@@@STEP_LOG_LINE@python.inline@                                   'dev.bootcomplete'])@@@",
      "@@@STEP_LOG_LINE@python.inline@    bit2 = subprocess.check_output([ADB, 'shell', 'getprop',@@@",
      "@@@STEP_LOG_LINE@python.inline@                                   'sys.boot_completed'])@@@",
      "@@@STEP_LOG_LINE@python.inline@    if '1' in bit1 and '1' in bit2:@@@",
      "@@@STEP_LOG_LINE@python.inline@      print 'Device detected'@@@",
      "@@@STEP_LOG_LINE@python.inline@      break@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@output = subprocess.check_output([ADB, 'disable-verity'])@@@",
      "@@@STEP_LOG_LINE@python.inline@print output@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'already disabled' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  print 'Rebooting device'@@@",
      "@@@STEP_LOG_LINE@python.inline@  subprocess.check_output([ADB, 'reboot'])@@@",
      "@@@STEP_LOG_LINE@python.inline@  wait_for_device()@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@def installASAN(revert=False):@@@",
      "@@@STEP_LOG_LINE@python.inline@  # ASAN setup script is idempotent, either it installs it or@@@",
      "@@@STEP_LOG_LINE@python.inline@  # says it's installed.  Returns True on success, false otherwise.@@@",
      "@@@STEP_LOG_LINE@python.inline@  out = subprocess.check_output([ADB, 'wait-for-device'])@@@",
      "@@@STEP_LOG_LINE@python.inline@  print out@@@",
      "@@@STEP_LOG_LINE@python.inline@  cmd = [ASAN_SETUP]@@@",
      "@@@STEP_LOG_LINE@python.inline@  if revert:@@@",
      "@@@STEP_LOG_LINE@python.inline@    cmd = [ASAN_SETUP, '--revert']@@@",
      "@@@STEP_LOG_LINE@python.inline@  process = subprocess.Popen(cmd, env={'ADB': ADB},@@@",
      "@@@STEP_LOG_LINE@python.inline@                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@  # this also blocks until command finishes@@@",
      "@@@STEP_LOG_LINE@python.inline@  (stdout, stderr) = process.communicate()@@@",
      "@@@STEP_LOG_LINE@python.inline@  print stdout@@@",
      "@@@STEP_LOG_LINE@python.inline@  print 'Stderr: %s' % stderr@@@",
      "@@@STEP_LOG_LINE@python.inline@  return process.returncode == 0@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@if not installASAN():@@@",
      "@@@STEP_LOG_LINE@python.inline@  print 'Trying to revert the ASAN install and then re-install'@@@",
      "@@@STEP_LOG_LINE@python.inline@  # ASAN script sometimes has issues if it was interrupted or partially applied@@@",
      "@@@STEP_LOG_LINE@python.inline@  # Try reverting it, then re-enabling it@@@",
      "@@@STEP_LOG_LINE@python.inline@  if not installASAN(revert=True):@@@",
      "@@@STEP_LOG_LINE@python.inline@    raise Exception('reverting ASAN install failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@  # Sleep because device does not reboot instantly@@@",
      "@@@STEP_LOG_LINE@python.inline@  time.sleep(10)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@  if not installASAN():@@@",
      "@@@STEP_LOG_LINE@python.inline@    raise Exception('Tried twice to setup ASAN and failed.')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Sleep because device does not reboot instantly@@@",
      "@@@STEP_LOG_LINE@python.inline@time.sleep(10)@@@",
      "@@@STEP_LOG_LINE@python.inline@wait_for_device()@@@",
      "@@@STEP_LOG_LINE@python.inline@# Sleep again to hopefully avoid error \"secure_mkdirs failed: No such file or@@@",
      "@@@STEP_LOG_LINE@python.inline@# directory\" when pushing resources to the device.@@@",
      "@@@STEP_LOG_LINE@python.inline@time.sleep(60)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n  print 'CPU %d online already %d' % (cpu, value)\n  sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n    '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n  raise Exception('(actual, expected) (%s, %d)'\n                  % (actual_status, value))\n",
      "/usr/bin/adb.1.0.35",
      "0",
      "1"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Enabling CPU 0",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@",
      "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@",
      "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@",
      "@@@STEP_LOG_LINE@python.inline@  print 'CPU %d online already %d' % (cpu, value)@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit()@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %d)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_status, value))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n  print 'CPU %d online already %d' % (cpu, value)\n  sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n    '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n  raise Exception('(actual, expected) (%s, %d)'\n                  % (actual_status, value))\n",
      "/usr/bin/adb.1.0.35",
      "1",
      "1"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Enabling CPU 1",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@",
      "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@",
      "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@",
      "@@@STEP_LOG_LINE@python.inline@  print 'CPU %d online already %d' % (cpu, value)@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit()@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %d)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_status, value))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n  raise Exception('(actual, expected) (%s, %s)'\n                  % (actual_gov, gov))\n",
      "/usr/bin/adb.1.0.35",
      "2",
      "ondemand"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Set CPU 2's governor to ondemand",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %s)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_gov, gov))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n  raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n  raise Exception('(actual, expected) (%s, %s)'\n                  % (actual_gov, gov))\n",
      "/usr/bin/adb.1.0.35",
      "0",
      "ondemand"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Set CPU 0's governor to ondemand",
    "timeout": 30,
    "~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@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
      "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
      "@@@STEP_LOG_LINE@python.inline@print log@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('adb root failed')@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %s)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_gov, gov))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/build/dm",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push dm"
  },
  {
    "cmd": [],
    "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/skia/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": "<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/.file3",
    "~followup_annotations": [
      "@@@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": "<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": "<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@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-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 skp VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-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",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
      "@@@STEP_LOG_END@SKP_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [],
    "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/skp",
      "--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": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/.file3",
    "~followup_annotations": [
      "@@@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": "<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": "<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@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SKP_VERSION",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get skimage VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "42",
      "[START_DIR]/tmp/SK_IMAGE_VERSION"
    ],
    "infra_step": true,
    "name": "write SK_IMAGE_VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
      "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [],
    "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/skimage",
      "--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": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/.file3",
    "~followup_annotations": [
      "@@@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": "<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": "<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@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SK_IMAGE_VERSION",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get svg VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@VERSION@42@@@",
      "@@@STEP_LOG_END@VERSION@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "42",
      "[START_DIR]/tmp/SVG_VERSION"
    ],
    "infra_step": true,
    "name": "write SVG_VERSION",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
      "@@@STEP_LOG_END@SVG_VERSION@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-f",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "rm",
      "-rf",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [],
    "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "listdir",
      "[START_DIR]/svg",
      "--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": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/.file3",
    "~followup_annotations": [
      "@@@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": "<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": "<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@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/SVG_VERSION",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
    ],
    "name": "get swarming task id",
    "~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": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --dummy --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs; echo $? >/data/local/tmp/rc",
      "[START_DIR]/tmp/dm.sh"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "write dm.sh",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@dm.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --dummy --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs; echo $? >/data/local/tmp/rc@@@",
      "@@@STEP_LOG_END@dm.sh@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "push",
      "[START_DIR]/tmp/dm.sh",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push dm.sh"
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "logcat",
      "-c"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "clear log"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh      = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n  sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',\n                                        bin_dir + 'rc'])))\nexcept ValueError:\n  print \"Couldn't read the return code.  Probably killed for OOM.\"\n  sys.exit(1)\n",
      "/data/local/tmp/",
      "dm.sh"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "name": "dm",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@sh      = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@",
      "@@@STEP_LOG_LINE@python.inline@                                        bin_dir + 'rc'])))@@@",
      "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
      "@@@STEP_LOG_LINE@python.inline@  print \"Couldn't read the return code.  Probably killed for OOM.\"@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "wait-for-device"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "wait for device before uninstalling ASAN",
    "timeout": 180
  },
  {
    "cmd": [
      "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8/bin/asan_device_setup",
      "--revert"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "uninstall ASAN",
    "timeout": 300
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', '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      try:\n        sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n        line = line.replace(addr, addr + ' ' + sym.strip())\n      except subprocess.CalledProcessError:\n        pass\n  print line\n",
      "[START_DIR]/build"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "dump log",
    "timeout": 300,
    "~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(['/usr/bin/adb.1.0.35', '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@      try:@@@",
      "@@@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@      except subprocess.CalledProcessError:@@@",
      "@@@STEP_LOG_LINE@python.inline@        pass@@@",
      "@@@STEP_LOG_LINE@python.inline@  print line@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/usr/bin/adb.1.0.35",
      "kill-server"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "kill adb server"
  },
  {
    "name": "$result"
  }
]