| Index: infra/bots/recipes/swarm_perf.expected/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release.json
 | 
| diff --git a/infra/bots/recipes/swarm_perf.expected/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release.json b/infra/bots/recipes/swarm_perf.expected/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release.json
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..e88e5498f80bac99f97751cc3fb1bfe0e51b1925
 | 
| --- /dev/null
 | 
| +++ b/infra/bots/recipes/swarm_perf.expected/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release.json
 | 
| @@ -0,0 +1,563 @@
 | 
| +[
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "[SLAVE_BUILD]/skia/tools/buildbot_spec.py",
 | 
| +      "/path/to/tmp/json",
 | 
| +      "Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release"
 | 
| +    ],
 | 
| +    "cwd": "[SLAVE_BUILD]/skia",
 | 
| +    "name": "exec buildbot_spec.py",
 | 
| +    "~followup_annotations": [
 | 
| +      "@@@STEP_LOG_LINE@json.output@{@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"build_targets\": [@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"nanobench\"@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  ], @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"builder_cfg\": {@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"arch\": \"Arm7\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"compiler\": \"GCC\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"configuration\": \"Release\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"cpu_or_gpu\": \"GPU\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"cpu_or_gpu_value\": \"Tegra3\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"is_trybot\": false, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"model\": \"Nexus7\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"os\": \"Android\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"role\": \"Perf\"@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  }, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"configuration\": \"Release\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"device_cfg\": \"arm_v7_neon\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"dm_flags\": [@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"--dummy-flags\"@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  ], @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"do_perf_steps\": true, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"do_test_steps\": false, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"env\": {@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"GYP_DEFINES\": \"skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0\"@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  }, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"nanobench_flags\": [@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@    \"--dummy-flags\"@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  ], @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"product.board\": \"grouper\", @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"upload_dm_results\": true, @@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@  \"upload_perf_results\": true@@@",
 | 
| +      "@@@STEP_LOG_LINE@json.output@}@@@",
 | 
| +      "@@@STEP_LOG_END@json.output@@@"
 | 
| +    ]
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "which",
 | 
| +      "adb"
 | 
| +    ],
 | 
| +    "name": "which adb",
 | 
| +    "stdout": "/path/to/tmp/",
 | 
| +    "~followup_annotations": [
 | 
| +      "step returned non-zero exit code: 1",
 | 
| +      "@@@STEP_EXCEPTION@@@"
 | 
| +    ]
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for device (1)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for charge (1)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "echo",
 | 
| +      "$EXTERNAL_STORAGE"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "get EXTERNAL_STORAGE dir",
 | 
| +    "stdout": "/path/to/tmp/"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "root"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "adb root",
 | 
| +    "stdout": "/path/to/tmp/"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "sleep",
 | 
| +      "10"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for device (2)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for charge (2)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/android_kill_skia",
 | 
| +      "--verbose"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "kill skia"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "stop"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "stop shell"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "dumpsys",
 | 
| +      "batteryproperties"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "starting battery stats"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "cat",
 | 
| +      "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "cat scaling_governor"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "cat",
 | 
| +      "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "cat cpu_freq"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_push_if_needed",
 | 
| +      "--verbose",
 | 
| +      "[SLAVE_BUILD]/skia/resources",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_resources"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "push resources"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
 | 
| +      "[SLAVE_BUILD]/skia/infra/bots/assets/skp/VERSION",
 | 
| +      "/path/to/tmp/"
 | 
| +    ],
 | 
| +    "name": "Get downloaded SKP VERSION"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
 | 
| +      "42",
 | 
| +      "[SLAVE_BUILD]/tmp/SKP_VERSION"
 | 
| +    ],
 | 
| +    "name": "write SKP_VERSION"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "cat",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_tmp_dir/SKP_VERSION"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "read SKP_VERSION",
 | 
| +    "stdout": "/path/to/tmp/"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
 | 
| +      "[SLAVE_BUILD]/skia/infra/bots/assets/skimage/VERSION",
 | 
| +      "/path/to/tmp/"
 | 
| +    ],
 | 
| +    "name": "Get downloaded skimage VERSION"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
 | 
| +      "42",
 | 
| +      "[SLAVE_BUILD]/tmp/SK_IMAGE_VERSION"
 | 
| +    ],
 | 
| +    "name": "write SK_IMAGE_VERSION"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "cat",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_tmp_dir/SK_IMAGE_VERSION"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "read SK_IMAGE_VERSION",
 | 
| +    "stdout": "/path/to/tmp/"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "rm",
 | 
| +      "-r",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_perf"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "rmdir skia_perf"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "if",
 | 
| +      "[",
 | 
| +      "-e",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_perf",
 | 
| +      "];",
 | 
| +      "then",
 | 
| +      "echo",
 | 
| +      "FILE_EXISTS;",
 | 
| +      "fi"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "exists skia_perf",
 | 
| +    "stdout": "/path/to/tmp/"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "mkdir",
 | 
| +      "-p",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_perf"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "mkdir skia_perf"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/android_run_skia",
 | 
| +      "--verbose",
 | 
| +      "--logcat",
 | 
| +      "-d",
 | 
| +      "arm_v7_neon",
 | 
| +      "-t",
 | 
| +      "Release",
 | 
| +      "nanobench",
 | 
| +      "--undefok",
 | 
| +      "-i",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_resources",
 | 
| +      "--skps",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_skp/skps",
 | 
| +      "--images",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_images/nanobench",
 | 
| +      "--nocpu",
 | 
| +      "--dummy-flags",
 | 
| +      "--outResultsFile",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_perf/nanobench_abc123.json",
 | 
| +      "--properties",
 | 
| +      "gitHash",
 | 
| +      "abc123",
 | 
| +      "build_number",
 | 
| +      "5",
 | 
| +      "--key",
 | 
| +      "arch",
 | 
| +      "Arm7",
 | 
| +      "compiler",
 | 
| +      "GCC",
 | 
| +      "cpu_or_gpu",
 | 
| +      "GPU",
 | 
| +      "cpu_or_gpu_value",
 | 
| +      "Tegra3",
 | 
| +      "model",
 | 
| +      "Nexus7",
 | 
| +      "os",
 | 
| +      "Android"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "nanobench"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "python",
 | 
| +      "-u",
 | 
| +      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
 | 
| +      "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/data",
 | 
| +      "511"
 | 
| +    ],
 | 
| +    "name": "makedirs perf_dir",
 | 
| +    "~followup_annotations": [
 | 
| +      "@@@STEP_LOG_LINE@python.inline@@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
 | 
| +      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
 | 
| +      "@@@STEP_LOG_END@python.inline@@@"
 | 
| +    ]
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_pull_if_needed",
 | 
| +      "--verbose",
 | 
| +      "/storage/emulated/legacy/skiabot/skia_perf",
 | 
| +      "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/data"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "pull skia_perf"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "shell",
 | 
| +      "dumpsys",
 | 
| +      "batteryproperties"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "final battery stats"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "reboot"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "reboot"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "sleep",
 | 
| +      "10"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for reboot"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_device"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for device (3)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/skia/platform_tools/android/bin/adb_wait_for_charge"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "ANDROID_HOME": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "ANDROID_SDK_ROOT": "[SLAVE_BUILD]/android_sdk/android-sdk",
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_ANDROID_VERBOSE_SETUP": "1",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "wait for charge (3)"
 | 
| +  },
 | 
| +  {
 | 
| +    "cmd": [
 | 
| +      "[SLAVE_BUILD]/android_sdk/android-sdk/platform-tools/adb",
 | 
| +      "kill-server"
 | 
| +    ],
 | 
| +    "env": {
 | 
| +      "BUILDTYPE": "Release",
 | 
| +      "CHROME_HEADLESS": "1",
 | 
| +      "GYP_DEFINES": "skia_arch_type=arm skia_dump_stats=1 skia_warnings_as_errors=0",
 | 
| +      "SKIA_OUT": "[SLAVE_BUILD]/out"
 | 
| +    },
 | 
| +    "name": "kill-server"
 | 
| +  },
 | 
| +  {
 | 
| +    "name": "$result",
 | 
| +    "recipe_result": null,
 | 
| +    "status_code": 0
 | 
| +  }
 | 
| +]
 | 
| 
 |