[
  {
    "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": [
      "/opt/infra-android/tools/adb",
      "push",
      "file.txt",
      "file.txt"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push file.txt file.txt"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "cat",
      "file.txt"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read file.txt"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "file.txt"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm file.txt",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "rmtree",
      "results_dir"
    ],
    "infra_step": true,
    "name": "rmtree results_dir"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "ensure-directory",
      "--mode",
      "0777",
      "results_dir"
    ],
    "infra_step": true,
    "name": "makedirs results_dir"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "device_results_dir"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm device_results_dir",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "mkdir",
      "-p",
      "device_results_dir"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir device_results_dir"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/resources"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_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]\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",
      "/opt/infra-android/tools/adb",
      "4",
      "userspace"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Set CPU 4's governor to userspace",
    "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]\ntarget_percent = float(sys.argv[2])\ncpu = int(sys.argv[3])\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\nroot = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu\n\n# All devices we test on give a list of their available frequencies.\navailable_freqs = subprocess.check_output([ADB, 'shell',\n    'cat %s/scaling_available_frequencies' % root])\n\n# Check for message like '/system/bin/sh: file not found'\nif available_freqs and '/system/bin/sh' not in available_freqs:\n  available_freqs = sorted(\n      int(i) for i in available_freqs.strip().split())\nelse:\n  raise Exception('Could not get list of available frequencies: %s' %\n                  available_freqs)\n\nmaxfreq = available_freqs[-1]\ntarget = int(round(maxfreq * target_percent))\nfreq = maxfreq\nfor f in reversed(available_freqs):\n  if f <= target:\n    freq = f\n    break\n\nprint 'Setting frequency to %d' % freq\n\n# If scaling_max_freq is lower than our attempted setting, it won't take.\n# We must set min first, because if we try to set max to be less than min\n# (which sometimes happens after certain devices reboot) it returns a\n# perplexing permissions error.\nsubprocess.check_output([ADB, 'shell', 'echo 0 > '\n    '%s/scaling_min_freq' % root])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n    '%s/scaling_max_freq' % (freq, root)])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n    '%s/scaling_setspeed' % (freq, root)])\ntime.sleep(5)\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n    '%s/scaling_cur_freq' % root]).strip()\nif actual_freq != str(freq):\n  raise Exception('(actual, expected) (%s, %d)'\n                  % (actual_freq, freq))\n",
      "/opt/infra-android/tools/adb",
      "0.6",
      "4"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Scale CPU 4 to 0.600000",
    "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@target_percent = float(sys.argv[2])@@@",
      "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[3])@@@",
      "@@@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@root = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# All devices we test on give a list of their available frequencies.@@@",
      "@@@STEP_LOG_LINE@python.inline@available_freqs = subprocess.check_output([ADB, 'shell',@@@",
      "@@@STEP_LOG_LINE@python.inline@    'cat %s/scaling_available_frequencies' % root])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Check for message like '/system/bin/sh: file not found'@@@",
      "@@@STEP_LOG_LINE@python.inline@if available_freqs and '/system/bin/sh' not in available_freqs:@@@",
      "@@@STEP_LOG_LINE@python.inline@  available_freqs = sorted(@@@",
      "@@@STEP_LOG_LINE@python.inline@      int(i) for i in available_freqs.strip().split())@@@",
      "@@@STEP_LOG_LINE@python.inline@else:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Could not get list of available frequencies: %s' %@@@",
      "@@@STEP_LOG_LINE@python.inline@                  available_freqs)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@maxfreq = available_freqs[-1]@@@",
      "@@@STEP_LOG_LINE@python.inline@target = int(round(maxfreq * target_percent))@@@",
      "@@@STEP_LOG_LINE@python.inline@freq = maxfreq@@@",
      "@@@STEP_LOG_LINE@python.inline@for f in reversed(available_freqs):@@@",
      "@@@STEP_LOG_LINE@python.inline@  if f <= target:@@@",
      "@@@STEP_LOG_LINE@python.inline@    freq = f@@@",
      "@@@STEP_LOG_LINE@python.inline@    break@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@print 'Setting frequency to %d' % freq@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# If scaling_max_freq is lower than our attempted setting, it won't take.@@@",
      "@@@STEP_LOG_LINE@python.inline@# We must set min first, because if we try to set max to be less than min@@@",
      "@@@STEP_LOG_LINE@python.inline@# (which sometimes happens after certain devices reboot) it returns a@@@",
      "@@@STEP_LOG_LINE@python.inline@# perplexing permissions error.@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo 0 > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_min_freq' % root])@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_max_freq' % (freq, root)])@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_setspeed' % (freq, root)])@@@",
      "@@@STEP_LOG_LINE@python.inline@time.sleep(5)@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '%s/scaling_cur_freq' % root]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_freq != str(freq):@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('(actual, expected) (%s, %d)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_freq, freq))@@@",
      "@@@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",
      "/opt/infra-android/tools/adb",
      "0",
      "0"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Disabling 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",
      "/opt/infra-android/tools/adb",
      "1",
      "0"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Disabling 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])\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",
      "/opt/infra-android/tools/adb",
      "2",
      "0"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Disabling CPU 2",
    "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",
      "/opt/infra-android/tools/adb",
      "3",
      "0"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Disabling CPU 3",
    "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]\nfreq = sys.argv[2]\nidle_timer = \"10000\"\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', 'stop', 'thermald'])\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n    '/sys/class/kgsl/kgsl-3d0/gpuclk' % freq])\n\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/class/kgsl/kgsl-3d0/gpuclk']).strip()\nif actual_freq != freq:\n  raise Exception('Frequency (actual, expected) (%s, %s)'\n                  % (actual_freq, freq))\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n    '/sys/class/kgsl/kgsl-3d0/idle_timer' % idle_timer])\n\nactual_timer = subprocess.check_output([ADB, 'shell', 'cat '\n    '/sys/class/kgsl/kgsl-3d0/idle_timer']).strip()\nif actual_timer != idle_timer:\n  raise Exception('idle_timer (actual, expected) (%s, %s)'\n                  % (actual_timer, idle_timer))\n\nfor s in ['force_bus_on', 'force_rail_on', 'force_clk_on']:\n  subprocess.check_output([ADB, 'shell', 'echo \"1\" > '\n      '/sys/class/kgsl/kgsl-3d0/%s' % s])\n  actual_set = subprocess.check_output([ADB, 'shell', 'cat '\n      '/sys/class/kgsl/kgsl-3d0/%s' % s]).strip()\n  if actual_set != \"1\":\n    raise Exception('%s (actual, expected) (%s, 1)'\n                    % (s, actual_set))\n",
      "/opt/infra-android/tools/adb",
      "600000000"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "Lock GPU to 600000000 (and other perf tweaks)",
    "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@freq = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@idle_timer = \"10000\"@@@",
      "@@@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', 'stop', 'thermald'])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/class/kgsl/kgsl-3d0/gpuclk' % freq])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/class/kgsl/kgsl-3d0/gpuclk']).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_freq != freq:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('Frequency (actual, expected) (%s, %s)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_freq, freq))@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/class/kgsl/kgsl-3d0/idle_timer' % idle_timer])@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@actual_timer = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@    '/sys/class/kgsl/kgsl-3d0/idle_timer']).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@if actual_timer != idle_timer:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('idle_timer (actual, expected) (%s, %s)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                  % (actual_timer, idle_timer))@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@for s in ['force_bus_on', 'force_rail_on', 'force_clk_on']:@@@",
      "@@@STEP_LOG_LINE@python.inline@  subprocess.check_output([ADB, 'shell', 'echo \"1\" > '@@@",
      "@@@STEP_LOG_LINE@python.inline@      '/sys/class/kgsl/kgsl-3d0/%s' % s])@@@",
      "@@@STEP_LOG_LINE@python.inline@  actual_set = subprocess.check_output([ADB, 'shell', 'cat '@@@",
      "@@@STEP_LOG_LINE@python.inline@      '/sys/class/kgsl/kgsl-3d0/%s' % s]).strip()@@@",
      "@@@STEP_LOG_LINE@python.inline@  if actual_set != \"1\":@@@",
      "@@@STEP_LOG_LINE@python.inline@    raise Exception('%s (actual, expected) (%s, 1)'@@@",
      "@@@STEP_LOG_LINE@python.inline@                    % (s, actual_set))@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/build/nanobench",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push nanobench"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[START_DIR]/skia/resources",
      "*"
    ],
    "infra_step": true,
    "name": "ls [START_DIR]/skia/resources/*",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/bar.jpg@@@",
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/foo.png@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/skia/resources/bar.jpg",
      "[START_DIR]/skia/resources/foo.png",
      "/sdcard/revenge_of_the_skiabot/resources"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_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"
  },
  {
    "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": [
      "/opt/infra-android/tools/adb",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/skps",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[START_DIR]/skp",
      "*"
    ],
    "infra_step": true,
    "name": "ls [START_DIR]/skp/*",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/bar.jpg@@@",
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/foo.png@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/skp/bar.jpg",
      "[START_DIR]/skp/foo.png",
      "/sdcard/revenge_of_the_skiabot/skps"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "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/chrome_infrastructure_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": [
      "/opt/infra-android/tools/adb",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
    "~followup_annotations": [
      "@@@STEP_EXCEPTION@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "kill-server"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "kill adb server after failure of 'read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION' (attempt 1)",
    "timeout": 30
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "wait-for-device"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "wait for device after failure of 'read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION' (attempt 1)",
    "timeout": 180
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION (attempt 2)"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/images",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[START_DIR]/skimage",
      "*"
    ],
    "infra_step": true,
    "name": "ls [START_DIR]/skimage/*",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/bar.jpg@@@",
      "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/foo.png@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/skimage/bar.jpg",
      "[START_DIR]/skimage/foo.png",
      "/sdcard/revenge_of_the_skiabot/images"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "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/chrome_infrastructure_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": [
      "/opt/infra-android/tools/adb",
      "shell",
      "cat",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n  output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n  raise Exception('%s exists despite being deleted' % path)\n",
      "/opt/infra-android/tools/adb",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "env": {
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "rm /sdcard/revenge_of_the_skiabot/svgs",
    "~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@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@",
      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@",
      "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@",
      "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@  output = e.output@@@",
      "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@print(output)@@@",
      "@@@STEP_LOG_LINE@python.inline@print('======')@@@",
      "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@",
      "@@@STEP_LOG_LINE@python.inline@  raise Exception('%s exists despite being deleted' % path)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "shell",
      "mkdir",
      "-p",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[START_DIR]/svg",
      "*"
    ],
    "infra_step": true,
    "name": "ls [START_DIR]/svg/*",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/bar.jpg@@@",
      "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/foo.png@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/svg/bar.jpg",
      "[START_DIR]/svg/foo.png",
      "/sdcard/revenge_of_the_skiabot/svgs"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "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/chrome_infrastructure_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": [
      "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/nanobench --some-flag; echo $? >/data/local/tmp/rc",
      "[START_DIR]/tmp/nanobench.sh"
    ],
    "infra_step": true,
    "name": "write nanobench.sh",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@nanobench.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/nanobench --some-flag; echo $? >/data/local/tmp/rc@@@",
      "@@@STEP_LOG_END@nanobench.sh@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "push",
      "[START_DIR]/tmp/nanobench.sh",
      "/data/local/tmp/"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "push nanobench.sh"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport subprocess\ndef run(*cmd):\n  print('====================================')\n  print(' '.join(cmd))\n  print('====================================')\n  subprocess.call(cmd)\nadb = '/opt/infra-android/tools/adb'\nrun('uptime')\nrun(adb, 'shell', 'uptime')\nrun(adb, 'shell', 'ps')\nrun(adb, 'logcat', '-d')\n",
      "/data/local/tmp/",
      "nanobench.sh"
    ],
    "name": "debugging",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
      "@@@STEP_LOG_LINE@python.inline@def run(*cmd):@@@",
      "@@@STEP_LOG_LINE@python.inline@  print('====================================')@@@",
      "@@@STEP_LOG_LINE@python.inline@  print(' '.join(cmd))@@@",
      "@@@STEP_LOG_LINE@python.inline@  print('====================================')@@@",
      "@@@STEP_LOG_LINE@python.inline@  subprocess.call(cmd)@@@",
      "@@@STEP_LOG_LINE@python.inline@adb = '/opt/infra-android/tools/adb'@@@",
      "@@@STEP_LOG_LINE@python.inline@run('uptime')@@@",
      "@@@STEP_LOG_LINE@python.inline@run(adb, 'shell', 'uptime')@@@",
      "@@@STEP_LOG_LINE@python.inline@run(adb, 'shell', 'ps')@@@",
      "@@@STEP_LOG_LINE@python.inline@run(adb, 'logcat', '-d')@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "logcat",
      "-c"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_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(['/opt/infra-android/tools/adb', 'shell', 'sh', bin_dir + sh])\ntry:\n  sys.exit(int(subprocess.check_output(['/opt/infra-android/tools/adb', 'shell', 'cat',\n                                        bin_dir + 'rc'])))\nexcept ValueError:\n  print \"Couldn't read the return code.  Probably killed for OOM.\"\n  sys.exit(1)\n",
      "/data/local/tmp/",
      "nanobench.sh"
    ],
    "name": "nanobench",
    "~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(['/opt/infra-android/tools/adb', 'shell', 'sh', bin_dir + sh])@@@",
      "@@@STEP_LOG_LINE@python.inline@try:@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(int(subprocess.check_output(['/opt/infra-android/tools/adb', 'shell', 'cat',@@@",
      "@@@STEP_LOG_LINE@python.inline@                                        bin_dir + 'rc'])))@@@",
      "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
      "@@@STEP_LOG_LINE@python.inline@  print \"Couldn't read the return code.  Probably killed for OOM.\"@@@",
      "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [],
    "name": "adb pull"
  },
  {
    "cmd": [
      "/opt/infra-android/tools/adb",
      "pull",
      "/sdcard/revenge_of_the_skiabot/perf",
      "[CLEANUP]/adb_pull_tmp_1"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "adb pull.pull /sdcard/revenge_of_the_skiabot/perf",
    "~followup_annotations": [
      "@@@STEP_NEST_LEVEL@1@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "glob",
      "[CLEANUP]/adb_pull_tmp_1",
      "perf/*"
    ],
    "infra_step": true,
    "name": "adb pull.list pulled files",
    "~followup_annotations": [
      "@@@STEP_NEST_LEVEL@1@@@",
      "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/1.png@@@",
      "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/2.png@@@",
      "@@@STEP_LOG_END@glob@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[CLEANUP]/adb_pull_tmp_1/1.png",
      "[START_DIR]/[SWARM_OUT_DIR]"
    ],
    "infra_step": true,
    "name": "adb pull.copy 1.png",
    "~followup_annotations": [
      "@@@STEP_NEST_LEVEL@1@@@"
    ]
  },
  {
    "cmd": [
      "vpython",
      "-u",
      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      "--json-output",
      "/path/to/tmp/json",
      "copy",
      "[CLEANUP]/adb_pull_tmp_1/2.png",
      "[START_DIR]/[SWARM_OUT_DIR]"
    ],
    "infra_step": true,
    "name": "adb pull.copy 2.png",
    "~followup_annotations": [
      "@@@STEP_NEST_LEVEL@1@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/opt/infra-android/tools/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      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(['/opt/infra-android/tools/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@      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": [
      "/opt/infra-android/tools/adb",
      "kill-server"
    ],
    "cwd": "[START_DIR]/skia",
    "env": {
      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
      "CHROME_HEADLESS": "1",
      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
    },
    "infra_step": true,
    "name": "kill adb server"
  },
  {
    "name": "$result"
  }
]