1cb93a386Sopenharmony_ci[ 2cb93a386Sopenharmony_ci { 3cb93a386Sopenharmony_ci "cmd": [ 4cb93a386Sopenharmony_ci "vpython", 5cb93a386Sopenharmony_ci "-u", 6cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 7cb93a386Sopenharmony_ci "--json-output", 8cb93a386Sopenharmony_ci "/path/to/tmp/json", 9cb93a386Sopenharmony_ci "ensure-directory", 10cb93a386Sopenharmony_ci "--mode", 11cb93a386Sopenharmony_ci "0777", 12cb93a386Sopenharmony_ci "[START_DIR]/tmp" 13cb93a386Sopenharmony_ci ], 14cb93a386Sopenharmony_ci "infra_step": true, 15cb93a386Sopenharmony_ci "name": "makedirs tmp_dir" 16cb93a386Sopenharmony_ci }, 17cb93a386Sopenharmony_ci { 18cb93a386Sopenharmony_ci "cmd": [ 19cb93a386Sopenharmony_ci "python", 20cb93a386Sopenharmony_ci "-u", 21cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n" 22cb93a386Sopenharmony_ci ], 23cb93a386Sopenharmony_ci "name": "get swarming bot id", 24cb93a386Sopenharmony_ci "~followup_annotations": [ 25cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 26cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@", 27cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 28cb93a386Sopenharmony_ci ] 29cb93a386Sopenharmony_ci }, 30cb93a386Sopenharmony_ci { 31cb93a386Sopenharmony_ci "cmd": [ 32cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 33cb93a386Sopenharmony_ci "shell", 34cb93a386Sopenharmony_ci "mkdir", 35cb93a386Sopenharmony_ci "-p", 36cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/resources" 37cb93a386Sopenharmony_ci ], 38cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 39cb93a386Sopenharmony_ci "env": { 40cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 41cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 42cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 43cb93a386Sopenharmony_ci }, 44cb93a386Sopenharmony_ci "infra_step": true, 45cb93a386Sopenharmony_ci "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" 46cb93a386Sopenharmony_ci }, 47cb93a386Sopenharmony_ci { 48cb93a386Sopenharmony_ci "cmd": [ 49cb93a386Sopenharmony_ci "python", 50cb93a386Sopenharmony_ci "-u", 51cb93a386Sopenharmony_ci "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\nASAN_SETUP = sys.argv[2]\n\ndef wait_for_device():\n while True:\n time.sleep(5)\n print('Waiting for device')\n subprocess.check_output([ADB, 'wait-for-device'])\n bit1 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'dev.bootcomplete'])\n bit2 = subprocess.check_output([ADB, 'shell', 'getprop',\n 'sys.boot_completed'])\n if '1' in bit1 and '1' in bit2:\n print('Device detected')\n break\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint(log)\nif 'cannot' in log:\n raise Exception('adb root failed')\n\noutput = subprocess.check_output([ADB, 'disable-verity'])\nprint(output)\n\nif 'already disabled' not in output:\n print('Rebooting device')\n subprocess.check_output([ADB, 'reboot'])\n wait_for_device()\n\ndef installASAN(revert=False):\n # ASAN setup script is idempotent, either it installs it or\n # says it's installed. Returns True on success, false otherwise.\n out = subprocess.check_output([ADB, 'wait-for-device'])\n print(out)\n cmd = [ASAN_SETUP]\n if revert:\n cmd = [ASAN_SETUP, '--revert']\n process = subprocess.Popen(cmd, env={'ADB': ADB},\n stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n\n # this also blocks until command finishes\n (stdout, stderr) = process.communicate()\n print(stdout)\n print('Stderr: %s' % stderr)\n return process.returncode == 0\n\nif not installASAN():\n print('Trying to revert the ASAN install and then re-install')\n # ASAN script sometimes has issues if it was interrupted or partially applied\n # Try reverting it, then re-enabling it\n if not installASAN(revert=True):\n raise Exception('reverting ASAN install failed')\n\n # Sleep because device does not reboot instantly\n time.sleep(10)\n\n if not installASAN():\n raise Exception('Tried twice to setup ASAN and failed.')\n\n# Sleep because device does not reboot instantly\ntime.sleep(10)\nwait_for_device()\n# Sleep again to hopefully avoid error \"secure_mkdirs failed: No such file or\n# directory\" when pushing resources to the device.\ntime.sleep(60)\n", 52cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 53cb93a386Sopenharmony_ci "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8/bin/asan_device_setup" 54cb93a386Sopenharmony_ci ], 55cb93a386Sopenharmony_ci "env": { 56cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 57cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 58cb93a386Sopenharmony_ci }, 59cb93a386Sopenharmony_ci "infra_step": true, 60cb93a386Sopenharmony_ci "name": "Setting up device to run ASAN", 61cb93a386Sopenharmony_ci "timeout": 300, 62cb93a386Sopenharmony_ci "~followup_annotations": [ 63cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 64cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 65cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 66cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 67cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 68cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 69cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ASAN_SETUP = sys.argv[2]@@@", 70cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 71cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@def wait_for_device():@@@", 72cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ while True:@@@", 73cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ time.sleep(5)@@@", 74cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Waiting for device')@@@", 75cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ subprocess.check_output([ADB, 'wait-for-device'])@@@", 76cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ bit1 = subprocess.check_output([ADB, 'shell', 'getprop',@@@", 77cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'dev.bootcomplete'])@@@", 78cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ bit2 = subprocess.check_output([ADB, 'shell', 'getprop',@@@", 79cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ 'sys.boot_completed'])@@@", 80cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if '1' in bit1 and '1' in bit2:@@@", 81cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Device detected')@@@", 82cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ break@@@", 83cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 84cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 85cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 86cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 87cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 88cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 89cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 90cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@output = subprocess.check_output([ADB, 'disable-verity'])@@@", 91cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 92cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 93cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'already disabled' not in output:@@@", 94cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Rebooting device')@@@", 95cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ subprocess.check_output([ADB, 'reboot'])@@@", 96cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ wait_for_device()@@@", 97cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 98cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@def installASAN(revert=False):@@@", 99cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # ASAN setup script is idempotent, either it installs it or@@@", 100cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # says it's installed. Returns True on success, false otherwise.@@@", 101cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ out = subprocess.check_output([ADB, 'wait-for-device'])@@@", 102cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print(out)@@@", 103cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ cmd = [ASAN_SETUP]@@@", 104cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if revert:@@@", 105cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ cmd = [ASAN_SETUP, '--revert']@@@", 106cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ process = subprocess.Popen(cmd, env={'ADB': ADB},@@@", 107cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ stdout=subprocess.PIPE, stderr=subprocess.PIPE)@@@", 108cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 109cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # this also blocks until command finishes@@@", 110cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ (stdout, stderr) = process.communicate()@@@", 111cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print(stdout)@@@", 112cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Stderr: %s' % stderr)@@@", 113cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ return process.returncode == 0@@@", 114cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 115cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if not installASAN():@@@", 116cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('Trying to revert the ASAN install and then re-install')@@@", 117cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # ASAN script sometimes has issues if it was interrupted or partially applied@@@", 118cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # Try reverting it, then re-enabling it@@@", 119cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if not installASAN(revert=True):@@@", 120cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('reverting ASAN install failed')@@@", 121cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 122cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ # Sleep because device does not reboot instantly@@@", 123cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ time.sleep(10)@@@", 124cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 125cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if not installASAN():@@@", 126cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('Tried twice to setup ASAN and failed.')@@@", 127cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 128cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Sleep because device does not reboot instantly@@@", 129cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@time.sleep(10)@@@", 130cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@wait_for_device()@@@", 131cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Sleep again to hopefully avoid error \"secure_mkdirs failed: No such file or@@@", 132cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# directory\" when pushing resources to the device.@@@", 133cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@time.sleep(60)@@@", 134cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 135cb93a386Sopenharmony_ci ] 136cb93a386Sopenharmony_ci }, 137cb93a386Sopenharmony_ci { 138cb93a386Sopenharmony_ci "cmd": [ 139cb93a386Sopenharmony_ci "python", 140cb93a386Sopenharmony_ci "-u", 141cb93a386Sopenharmony_ci "\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", 142cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 143cb93a386Sopenharmony_ci "0", 144cb93a386Sopenharmony_ci "1" 145cb93a386Sopenharmony_ci ], 146cb93a386Sopenharmony_ci "env": { 147cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 148cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 149cb93a386Sopenharmony_ci }, 150cb93a386Sopenharmony_ci "infra_step": true, 151cb93a386Sopenharmony_ci "name": "Enabling CPU 0", 152cb93a386Sopenharmony_ci "timeout": 30, 153cb93a386Sopenharmony_ci "~followup_annotations": [ 154cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 155cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 156cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 157cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 158cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 159cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 160cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 161cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@", 162cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 163cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 164cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 165cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 166cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 167cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 168cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 169cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@", 170cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@", 171cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 172cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 173cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@", 174cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('CPU %d online already %d' % (cpu, value))@@@", 175cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@", 176cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 177cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@", 178cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@", 179cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 180cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 181cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@", 182cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@", 183cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@", 184cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 185cb93a386Sopenharmony_ci ] 186cb93a386Sopenharmony_ci }, 187cb93a386Sopenharmony_ci { 188cb93a386Sopenharmony_ci "cmd": [ 189cb93a386Sopenharmony_ci "python", 190cb93a386Sopenharmony_ci "-u", 191cb93a386Sopenharmony_ci "\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", 192cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 193cb93a386Sopenharmony_ci "1", 194cb93a386Sopenharmony_ci "1" 195cb93a386Sopenharmony_ci ], 196cb93a386Sopenharmony_ci "env": { 197cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 198cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 199cb93a386Sopenharmony_ci }, 200cb93a386Sopenharmony_ci "infra_step": true, 201cb93a386Sopenharmony_ci "name": "Enabling CPU 1", 202cb93a386Sopenharmony_ci "timeout": 30, 203cb93a386Sopenharmony_ci "~followup_annotations": [ 204cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 205cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 206cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 207cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 208cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 209cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 210cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 211cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@", 212cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 213cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 214cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 215cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 216cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 217cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 218cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 219cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@", 220cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@", 221cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 222cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 223cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@", 224cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('CPU %d online already %d' % (cpu, value))@@@", 225cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@", 226cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 227cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@", 228cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@", 229cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 230cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 231cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@", 232cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@", 233cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@", 234cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 235cb93a386Sopenharmony_ci ] 236cb93a386Sopenharmony_ci }, 237cb93a386Sopenharmony_ci { 238cb93a386Sopenharmony_ci "cmd": [ 239cb93a386Sopenharmony_ci "python", 240cb93a386Sopenharmony_ci "-u", 241cb93a386Sopenharmony_ci "\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", 242cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 243cb93a386Sopenharmony_ci "2", 244cb93a386Sopenharmony_ci "1" 245cb93a386Sopenharmony_ci ], 246cb93a386Sopenharmony_ci "env": { 247cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 248cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 249cb93a386Sopenharmony_ci }, 250cb93a386Sopenharmony_ci "infra_step": true, 251cb93a386Sopenharmony_ci "name": "Enabling CPU 2", 252cb93a386Sopenharmony_ci "timeout": 30, 253cb93a386Sopenharmony_ci "~followup_annotations": [ 254cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 255cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 256cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 257cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 258cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 259cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 260cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 261cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@", 262cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 263cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 264cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 265cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 266cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 267cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 268cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 269cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@", 270cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@", 271cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 272cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 273cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@", 274cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('CPU %d online already %d' % (cpu, value))@@@", 275cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@", 276cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 277cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@", 278cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@", 279cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 280cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 281cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@", 282cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@", 283cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@", 284cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 285cb93a386Sopenharmony_ci ] 286cb93a386Sopenharmony_ci }, 287cb93a386Sopenharmony_ci { 288cb93a386Sopenharmony_ci "cmd": [ 289cb93a386Sopenharmony_ci "python", 290cb93a386Sopenharmony_ci "-u", 291cb93a386Sopenharmony_ci "\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", 292cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 293cb93a386Sopenharmony_ci "3", 294cb93a386Sopenharmony_ci "1" 295cb93a386Sopenharmony_ci ], 296cb93a386Sopenharmony_ci "env": { 297cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 298cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 299cb93a386Sopenharmony_ci }, 300cb93a386Sopenharmony_ci "infra_step": true, 301cb93a386Sopenharmony_ci "name": "Enabling CPU 3", 302cb93a386Sopenharmony_ci "timeout": 30, 303cb93a386Sopenharmony_ci "~followup_annotations": [ 304cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 305cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 306cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 307cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 308cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 309cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 310cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 311cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@", 312cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 313cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 314cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 315cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 316cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 317cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 318cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 319cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@", 320cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@", 321cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 322cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 323cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@", 324cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print('CPU %d online already %d' % (cpu, value))@@@", 325cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@", 326cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 327cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@", 328cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@", 329cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@", 330cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@", 331cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@", 332cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@", 333cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@", 334cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 335cb93a386Sopenharmony_ci ] 336cb93a386Sopenharmony_ci }, 337cb93a386Sopenharmony_ci { 338cb93a386Sopenharmony_ci "cmd": [ 339cb93a386Sopenharmony_ci "python", 340cb93a386Sopenharmony_ci "-u", 341cb93a386Sopenharmony_ci "\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", 342cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 343cb93a386Sopenharmony_ci "4", 344cb93a386Sopenharmony_ci "ondemand" 345cb93a386Sopenharmony_ci ], 346cb93a386Sopenharmony_ci "env": { 347cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 348cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 349cb93a386Sopenharmony_ci }, 350cb93a386Sopenharmony_ci "infra_step": true, 351cb93a386Sopenharmony_ci "name": "Set CPU 4's governor to ondemand", 352cb93a386Sopenharmony_ci "timeout": 30, 353cb93a386Sopenharmony_ci "~followup_annotations": [ 354cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 355cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 356cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 357cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 358cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 359cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 360cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 361cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@", 362cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 363cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 364cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 365cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 366cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 367cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 368cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 369cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@", 370cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@", 371cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@", 372cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@", 373cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@", 374cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@", 375cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@", 376cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 377cb93a386Sopenharmony_ci ] 378cb93a386Sopenharmony_ci }, 379cb93a386Sopenharmony_ci { 380cb93a386Sopenharmony_ci "cmd": [ 381cb93a386Sopenharmony_ci "python", 382cb93a386Sopenharmony_ci "-u", 383cb93a386Sopenharmony_ci "\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", 384cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 385cb93a386Sopenharmony_ci "0", 386cb93a386Sopenharmony_ci "ondemand" 387cb93a386Sopenharmony_ci ], 388cb93a386Sopenharmony_ci "env": { 389cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 390cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 391cb93a386Sopenharmony_ci }, 392cb93a386Sopenharmony_ci "infra_step": true, 393cb93a386Sopenharmony_ci "name": "Set CPU 0's governor to ondemand", 394cb93a386Sopenharmony_ci "timeout": 30, 395cb93a386Sopenharmony_ci "~followup_annotations": [ 396cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 397cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 398cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 399cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 400cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import time@@@", 401cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@", 402cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@", 403cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@", 404cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 405cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@", 406cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@", 407cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(log)@@@", 408cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@", 409cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@", 410cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 411cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@", 412cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@", 413cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@", 414cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@", 415cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@", 416cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@", 417cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@", 418cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 419cb93a386Sopenharmony_ci ] 420cb93a386Sopenharmony_ci }, 421cb93a386Sopenharmony_ci { 422cb93a386Sopenharmony_ci "cmd": [ 423cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 424cb93a386Sopenharmony_ci "push", 425cb93a386Sopenharmony_ci "[START_DIR]/build/dm", 426cb93a386Sopenharmony_ci "/data/local/tmp/" 427cb93a386Sopenharmony_ci ], 428cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 429cb93a386Sopenharmony_ci "env": { 430cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 431cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 432cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 433cb93a386Sopenharmony_ci }, 434cb93a386Sopenharmony_ci "infra_step": true, 435cb93a386Sopenharmony_ci "name": "push dm" 436cb93a386Sopenharmony_ci }, 437cb93a386Sopenharmony_ci { 438cb93a386Sopenharmony_ci "cmd": [ 439cb93a386Sopenharmony_ci "vpython", 440cb93a386Sopenharmony_ci "-u", 441cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 442cb93a386Sopenharmony_ci "--json-output", 443cb93a386Sopenharmony_ci "/path/to/tmp/json", 444cb93a386Sopenharmony_ci "glob", 445cb93a386Sopenharmony_ci "[START_DIR]/skia/resources", 446cb93a386Sopenharmony_ci "*" 447cb93a386Sopenharmony_ci ], 448cb93a386Sopenharmony_ci "infra_step": true, 449cb93a386Sopenharmony_ci "name": "ls [START_DIR]/skia/resources/*", 450cb93a386Sopenharmony_ci "~followup_annotations": [ 451cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/bar.jpg@@@", 452cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/foo.png@@@", 453cb93a386Sopenharmony_ci "@@@STEP_LOG_END@glob@@@" 454cb93a386Sopenharmony_ci ] 455cb93a386Sopenharmony_ci }, 456cb93a386Sopenharmony_ci { 457cb93a386Sopenharmony_ci "cmd": [ 458cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 459cb93a386Sopenharmony_ci "push", 460cb93a386Sopenharmony_ci "[START_DIR]/skia/resources/bar.jpg", 461cb93a386Sopenharmony_ci "[START_DIR]/skia/resources/foo.png", 462cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/resources" 463cb93a386Sopenharmony_ci ], 464cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 465cb93a386Sopenharmony_ci "env": { 466cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 467cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 468cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 469cb93a386Sopenharmony_ci }, 470cb93a386Sopenharmony_ci "infra_step": true, 471cb93a386Sopenharmony_ci "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources" 472cb93a386Sopenharmony_ci }, 473cb93a386Sopenharmony_ci { 474cb93a386Sopenharmony_ci "cmd": [ 475cb93a386Sopenharmony_ci "vpython", 476cb93a386Sopenharmony_ci "-u", 477cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 478cb93a386Sopenharmony_ci "--json-output", 479cb93a386Sopenharmony_ci "/path/to/tmp/json", 480cb93a386Sopenharmony_ci "copy", 481cb93a386Sopenharmony_ci "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 482cb93a386Sopenharmony_ci "/path/to/tmp/" 483cb93a386Sopenharmony_ci ], 484cb93a386Sopenharmony_ci "infra_step": true, 485cb93a386Sopenharmony_ci "name": "Get skp VERSION", 486cb93a386Sopenharmony_ci "~followup_annotations": [ 487cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@VERSION@42@@@", 488cb93a386Sopenharmony_ci "@@@STEP_LOG_END@VERSION@@@" 489cb93a386Sopenharmony_ci ] 490cb93a386Sopenharmony_ci }, 491cb93a386Sopenharmony_ci { 492cb93a386Sopenharmony_ci "cmd": [ 493cb93a386Sopenharmony_ci "vpython", 494cb93a386Sopenharmony_ci "-u", 495cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 496cb93a386Sopenharmony_ci "--json-output", 497cb93a386Sopenharmony_ci "/path/to/tmp/json", 498cb93a386Sopenharmony_ci "copy", 499cb93a386Sopenharmony_ci "42", 500cb93a386Sopenharmony_ci "[START_DIR]/tmp/SKP_VERSION" 501cb93a386Sopenharmony_ci ], 502cb93a386Sopenharmony_ci "infra_step": true, 503cb93a386Sopenharmony_ci "name": "write SKP_VERSION", 504cb93a386Sopenharmony_ci "~followup_annotations": [ 505cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@SKP_VERSION@42@@@", 506cb93a386Sopenharmony_ci "@@@STEP_LOG_END@SKP_VERSION@@@" 507cb93a386Sopenharmony_ci ] 508cb93a386Sopenharmony_ci }, 509cb93a386Sopenharmony_ci { 510cb93a386Sopenharmony_ci "cmd": [ 511cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 512cb93a386Sopenharmony_ci "shell", 513cb93a386Sopenharmony_ci "cat", 514cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 515cb93a386Sopenharmony_ci ], 516cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 517cb93a386Sopenharmony_ci "env": { 518cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 519cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 520cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 521cb93a386Sopenharmony_ci }, 522cb93a386Sopenharmony_ci "infra_step": true, 523cb93a386Sopenharmony_ci "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION" 524cb93a386Sopenharmony_ci }, 525cb93a386Sopenharmony_ci { 526cb93a386Sopenharmony_ci "cmd": [ 527cb93a386Sopenharmony_ci "python", 528cb93a386Sopenharmony_ci "-u", 529cb93a386Sopenharmony_ci "\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", 530cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 531cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 532cb93a386Sopenharmony_ci ], 533cb93a386Sopenharmony_ci "env": { 534cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 535cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 536cb93a386Sopenharmony_ci }, 537cb93a386Sopenharmony_ci "infra_step": true, 538cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION", 539cb93a386Sopenharmony_ci "~followup_annotations": [ 540cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 541cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 542cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 543cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 544cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 545cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 546cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 547cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 548cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 549cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 550cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 551cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 552cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 553cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 554cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 555cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 556cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 557cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 558cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 559cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 560cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 561cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 562cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 563cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 564cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 565cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 566cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 567cb93a386Sopenharmony_ci ] 568cb93a386Sopenharmony_ci }, 569cb93a386Sopenharmony_ci { 570cb93a386Sopenharmony_ci "cmd": [ 571cb93a386Sopenharmony_ci "python", 572cb93a386Sopenharmony_ci "-u", 573cb93a386Sopenharmony_ci "\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", 574cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 575cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/skps" 576cb93a386Sopenharmony_ci ], 577cb93a386Sopenharmony_ci "env": { 578cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 579cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 580cb93a386Sopenharmony_ci }, 581cb93a386Sopenharmony_ci "infra_step": true, 582cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/skps", 583cb93a386Sopenharmony_ci "~followup_annotations": [ 584cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 585cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 586cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 587cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 588cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 589cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 590cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 591cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 592cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 593cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 594cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 595cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 596cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 597cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 598cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 599cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 600cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 601cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 602cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 603cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 604cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 605cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 606cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 607cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 608cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 609cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 610cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 611cb93a386Sopenharmony_ci ] 612cb93a386Sopenharmony_ci }, 613cb93a386Sopenharmony_ci { 614cb93a386Sopenharmony_ci "cmd": [ 615cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 616cb93a386Sopenharmony_ci "shell", 617cb93a386Sopenharmony_ci "mkdir", 618cb93a386Sopenharmony_ci "-p", 619cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/skps" 620cb93a386Sopenharmony_ci ], 621cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 622cb93a386Sopenharmony_ci "env": { 623cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 624cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 625cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 626cb93a386Sopenharmony_ci }, 627cb93a386Sopenharmony_ci "infra_step": true, 628cb93a386Sopenharmony_ci "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" 629cb93a386Sopenharmony_ci }, 630cb93a386Sopenharmony_ci { 631cb93a386Sopenharmony_ci "cmd": [ 632cb93a386Sopenharmony_ci "vpython", 633cb93a386Sopenharmony_ci "-u", 634cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 635cb93a386Sopenharmony_ci "--json-output", 636cb93a386Sopenharmony_ci "/path/to/tmp/json", 637cb93a386Sopenharmony_ci "glob", 638cb93a386Sopenharmony_ci "[START_DIR]/skp", 639cb93a386Sopenharmony_ci "*" 640cb93a386Sopenharmony_ci ], 641cb93a386Sopenharmony_ci "infra_step": true, 642cb93a386Sopenharmony_ci "name": "ls [START_DIR]/skp/*", 643cb93a386Sopenharmony_ci "~followup_annotations": [ 644cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/bar.jpg@@@", 645cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/foo.png@@@", 646cb93a386Sopenharmony_ci "@@@STEP_LOG_END@glob@@@" 647cb93a386Sopenharmony_ci ] 648cb93a386Sopenharmony_ci }, 649cb93a386Sopenharmony_ci { 650cb93a386Sopenharmony_ci "cmd": [ 651cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 652cb93a386Sopenharmony_ci "push", 653cb93a386Sopenharmony_ci "[START_DIR]/skp/bar.jpg", 654cb93a386Sopenharmony_ci "[START_DIR]/skp/foo.png", 655cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/skps" 656cb93a386Sopenharmony_ci ], 657cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 658cb93a386Sopenharmony_ci "env": { 659cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 660cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 661cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 662cb93a386Sopenharmony_ci }, 663cb93a386Sopenharmony_ci "infra_step": true, 664cb93a386Sopenharmony_ci "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps" 665cb93a386Sopenharmony_ci }, 666cb93a386Sopenharmony_ci { 667cb93a386Sopenharmony_ci "cmd": [ 668cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 669cb93a386Sopenharmony_ci "push", 670cb93a386Sopenharmony_ci "[START_DIR]/tmp/SKP_VERSION", 671cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 672cb93a386Sopenharmony_ci ], 673cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 674cb93a386Sopenharmony_ci "env": { 675cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 676cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 677cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 678cb93a386Sopenharmony_ci }, 679cb93a386Sopenharmony_ci "infra_step": true, 680cb93a386Sopenharmony_ci "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION" 681cb93a386Sopenharmony_ci }, 682cb93a386Sopenharmony_ci { 683cb93a386Sopenharmony_ci "cmd": [ 684cb93a386Sopenharmony_ci "vpython", 685cb93a386Sopenharmony_ci "-u", 686cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 687cb93a386Sopenharmony_ci "--json-output", 688cb93a386Sopenharmony_ci "/path/to/tmp/json", 689cb93a386Sopenharmony_ci "copy", 690cb93a386Sopenharmony_ci "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 691cb93a386Sopenharmony_ci "/path/to/tmp/" 692cb93a386Sopenharmony_ci ], 693cb93a386Sopenharmony_ci "infra_step": true, 694cb93a386Sopenharmony_ci "name": "Get skimage VERSION", 695cb93a386Sopenharmony_ci "~followup_annotations": [ 696cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@VERSION@42@@@", 697cb93a386Sopenharmony_ci "@@@STEP_LOG_END@VERSION@@@" 698cb93a386Sopenharmony_ci ] 699cb93a386Sopenharmony_ci }, 700cb93a386Sopenharmony_ci { 701cb93a386Sopenharmony_ci "cmd": [ 702cb93a386Sopenharmony_ci "vpython", 703cb93a386Sopenharmony_ci "-u", 704cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 705cb93a386Sopenharmony_ci "--json-output", 706cb93a386Sopenharmony_ci "/path/to/tmp/json", 707cb93a386Sopenharmony_ci "copy", 708cb93a386Sopenharmony_ci "42", 709cb93a386Sopenharmony_ci "[START_DIR]/tmp/SK_IMAGE_VERSION" 710cb93a386Sopenharmony_ci ], 711cb93a386Sopenharmony_ci "infra_step": true, 712cb93a386Sopenharmony_ci "name": "write SK_IMAGE_VERSION", 713cb93a386Sopenharmony_ci "~followup_annotations": [ 714cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@", 715cb93a386Sopenharmony_ci "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@" 716cb93a386Sopenharmony_ci ] 717cb93a386Sopenharmony_ci }, 718cb93a386Sopenharmony_ci { 719cb93a386Sopenharmony_ci "cmd": [ 720cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 721cb93a386Sopenharmony_ci "shell", 722cb93a386Sopenharmony_ci "cat", 723cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 724cb93a386Sopenharmony_ci ], 725cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 726cb93a386Sopenharmony_ci "env": { 727cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 728cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 729cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 730cb93a386Sopenharmony_ci }, 731cb93a386Sopenharmony_ci "infra_step": true, 732cb93a386Sopenharmony_ci "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 733cb93a386Sopenharmony_ci }, 734cb93a386Sopenharmony_ci { 735cb93a386Sopenharmony_ci "cmd": [ 736cb93a386Sopenharmony_ci "python", 737cb93a386Sopenharmony_ci "-u", 738cb93a386Sopenharmony_ci "\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", 739cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 740cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 741cb93a386Sopenharmony_ci ], 742cb93a386Sopenharmony_ci "env": { 743cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 744cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 745cb93a386Sopenharmony_ci }, 746cb93a386Sopenharmony_ci "infra_step": true, 747cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION", 748cb93a386Sopenharmony_ci "~followup_annotations": [ 749cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 750cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 751cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 752cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 753cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 754cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 755cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 756cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 757cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 758cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 759cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 760cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 761cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 762cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 763cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 764cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 765cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 766cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 767cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 768cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 769cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 770cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 771cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 772cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 773cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 774cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 775cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 776cb93a386Sopenharmony_ci ] 777cb93a386Sopenharmony_ci }, 778cb93a386Sopenharmony_ci { 779cb93a386Sopenharmony_ci "cmd": [ 780cb93a386Sopenharmony_ci "python", 781cb93a386Sopenharmony_ci "-u", 782cb93a386Sopenharmony_ci "\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", 783cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 784cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/images" 785cb93a386Sopenharmony_ci ], 786cb93a386Sopenharmony_ci "env": { 787cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 788cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 789cb93a386Sopenharmony_ci }, 790cb93a386Sopenharmony_ci "infra_step": true, 791cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/images", 792cb93a386Sopenharmony_ci "~followup_annotations": [ 793cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 794cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 795cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 796cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 797cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 798cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 799cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 800cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 801cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 802cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 803cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 804cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 805cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 806cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 807cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 808cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 809cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 810cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 811cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 812cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 813cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 814cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 815cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 816cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 817cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 818cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 819cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 820cb93a386Sopenharmony_ci ] 821cb93a386Sopenharmony_ci }, 822cb93a386Sopenharmony_ci { 823cb93a386Sopenharmony_ci "cmd": [ 824cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 825cb93a386Sopenharmony_ci "shell", 826cb93a386Sopenharmony_ci "mkdir", 827cb93a386Sopenharmony_ci "-p", 828cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/images" 829cb93a386Sopenharmony_ci ], 830cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 831cb93a386Sopenharmony_ci "env": { 832cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 833cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 834cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 835cb93a386Sopenharmony_ci }, 836cb93a386Sopenharmony_ci "infra_step": true, 837cb93a386Sopenharmony_ci "name": "mkdir /sdcard/revenge_of_the_skiabot/images" 838cb93a386Sopenharmony_ci }, 839cb93a386Sopenharmony_ci { 840cb93a386Sopenharmony_ci "cmd": [ 841cb93a386Sopenharmony_ci "vpython", 842cb93a386Sopenharmony_ci "-u", 843cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 844cb93a386Sopenharmony_ci "--json-output", 845cb93a386Sopenharmony_ci "/path/to/tmp/json", 846cb93a386Sopenharmony_ci "glob", 847cb93a386Sopenharmony_ci "[START_DIR]/skimage", 848cb93a386Sopenharmony_ci "*" 849cb93a386Sopenharmony_ci ], 850cb93a386Sopenharmony_ci "infra_step": true, 851cb93a386Sopenharmony_ci "name": "ls [START_DIR]/skimage/*", 852cb93a386Sopenharmony_ci "~followup_annotations": [ 853cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/bar.jpg@@@", 854cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/foo.png@@@", 855cb93a386Sopenharmony_ci "@@@STEP_LOG_END@glob@@@" 856cb93a386Sopenharmony_ci ] 857cb93a386Sopenharmony_ci }, 858cb93a386Sopenharmony_ci { 859cb93a386Sopenharmony_ci "cmd": [ 860cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 861cb93a386Sopenharmony_ci "push", 862cb93a386Sopenharmony_ci "[START_DIR]/skimage/bar.jpg", 863cb93a386Sopenharmony_ci "[START_DIR]/skimage/foo.png", 864cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/images" 865cb93a386Sopenharmony_ci ], 866cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 867cb93a386Sopenharmony_ci "env": { 868cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 869cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 870cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 871cb93a386Sopenharmony_ci }, 872cb93a386Sopenharmony_ci "infra_step": true, 873cb93a386Sopenharmony_ci "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images" 874cb93a386Sopenharmony_ci }, 875cb93a386Sopenharmony_ci { 876cb93a386Sopenharmony_ci "cmd": [ 877cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 878cb93a386Sopenharmony_ci "push", 879cb93a386Sopenharmony_ci "[START_DIR]/tmp/SK_IMAGE_VERSION", 880cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 881cb93a386Sopenharmony_ci ], 882cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 883cb93a386Sopenharmony_ci "env": { 884cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 885cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 886cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 887cb93a386Sopenharmony_ci }, 888cb93a386Sopenharmony_ci "infra_step": true, 889cb93a386Sopenharmony_ci "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 890cb93a386Sopenharmony_ci }, 891cb93a386Sopenharmony_ci { 892cb93a386Sopenharmony_ci "cmd": [ 893cb93a386Sopenharmony_ci "vpython", 894cb93a386Sopenharmony_ci "-u", 895cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 896cb93a386Sopenharmony_ci "--json-output", 897cb93a386Sopenharmony_ci "/path/to/tmp/json", 898cb93a386Sopenharmony_ci "copy", 899cb93a386Sopenharmony_ci "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 900cb93a386Sopenharmony_ci "/path/to/tmp/" 901cb93a386Sopenharmony_ci ], 902cb93a386Sopenharmony_ci "infra_step": true, 903cb93a386Sopenharmony_ci "name": "Get svg VERSION", 904cb93a386Sopenharmony_ci "~followup_annotations": [ 905cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@VERSION@42@@@", 906cb93a386Sopenharmony_ci "@@@STEP_LOG_END@VERSION@@@" 907cb93a386Sopenharmony_ci ] 908cb93a386Sopenharmony_ci }, 909cb93a386Sopenharmony_ci { 910cb93a386Sopenharmony_ci "cmd": [ 911cb93a386Sopenharmony_ci "vpython", 912cb93a386Sopenharmony_ci "-u", 913cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 914cb93a386Sopenharmony_ci "--json-output", 915cb93a386Sopenharmony_ci "/path/to/tmp/json", 916cb93a386Sopenharmony_ci "copy", 917cb93a386Sopenharmony_ci "42", 918cb93a386Sopenharmony_ci "[START_DIR]/tmp/SVG_VERSION" 919cb93a386Sopenharmony_ci ], 920cb93a386Sopenharmony_ci "infra_step": true, 921cb93a386Sopenharmony_ci "name": "write SVG_VERSION", 922cb93a386Sopenharmony_ci "~followup_annotations": [ 923cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@SVG_VERSION@42@@@", 924cb93a386Sopenharmony_ci "@@@STEP_LOG_END@SVG_VERSION@@@" 925cb93a386Sopenharmony_ci ] 926cb93a386Sopenharmony_ci }, 927cb93a386Sopenharmony_ci { 928cb93a386Sopenharmony_ci "cmd": [ 929cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 930cb93a386Sopenharmony_ci "shell", 931cb93a386Sopenharmony_ci "cat", 932cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 933cb93a386Sopenharmony_ci ], 934cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 935cb93a386Sopenharmony_ci "env": { 936cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 937cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 938cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 939cb93a386Sopenharmony_ci }, 940cb93a386Sopenharmony_ci "infra_step": true, 941cb93a386Sopenharmony_ci "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION" 942cb93a386Sopenharmony_ci }, 943cb93a386Sopenharmony_ci { 944cb93a386Sopenharmony_ci "cmd": [ 945cb93a386Sopenharmony_ci "python", 946cb93a386Sopenharmony_ci "-u", 947cb93a386Sopenharmony_ci "\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", 948cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 949cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 950cb93a386Sopenharmony_ci ], 951cb93a386Sopenharmony_ci "env": { 952cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 953cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 954cb93a386Sopenharmony_ci }, 955cb93a386Sopenharmony_ci "infra_step": true, 956cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION", 957cb93a386Sopenharmony_ci "~followup_annotations": [ 958cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 959cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 960cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 961cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 962cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 963cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 964cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 965cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 966cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 967cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 968cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 969cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 970cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 971cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 972cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 973cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 974cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 975cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 976cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 977cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 978cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 979cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 980cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 981cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 982cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 983cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 984cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 985cb93a386Sopenharmony_ci ] 986cb93a386Sopenharmony_ci }, 987cb93a386Sopenharmony_ci { 988cb93a386Sopenharmony_ci "cmd": [ 989cb93a386Sopenharmony_ci "python", 990cb93a386Sopenharmony_ci "-u", 991cb93a386Sopenharmony_ci "\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", 992cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 993cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/svgs" 994cb93a386Sopenharmony_ci ], 995cb93a386Sopenharmony_ci "env": { 996cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 997cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 998cb93a386Sopenharmony_ci }, 999cb93a386Sopenharmony_ci "infra_step": true, 1000cb93a386Sopenharmony_ci "name": "rm /sdcard/revenge_of_the_skiabot/svgs", 1001cb93a386Sopenharmony_ci "~followup_annotations": [ 1002cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 1003cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 1004cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 1005cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 1006cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@", 1007cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@", 1008cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@", 1009cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@", 1010cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@", 1011cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 1012cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@", 1013cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 1014cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@", 1015cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@", 1016cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@", 1017cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@", 1018cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 1019cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@", 1020cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@", 1021cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ output = e.output@@@", 1022cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@", 1023cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 1024cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(output)@@@", 1025cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print('======')@@@", 1026cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@", 1027cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@", 1028cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 1029cb93a386Sopenharmony_ci ] 1030cb93a386Sopenharmony_ci }, 1031cb93a386Sopenharmony_ci { 1032cb93a386Sopenharmony_ci "cmd": [ 1033cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1034cb93a386Sopenharmony_ci "shell", 1035cb93a386Sopenharmony_ci "mkdir", 1036cb93a386Sopenharmony_ci "-p", 1037cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/svgs" 1038cb93a386Sopenharmony_ci ], 1039cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1040cb93a386Sopenharmony_ci "env": { 1041cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1042cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1043cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1044cb93a386Sopenharmony_ci }, 1045cb93a386Sopenharmony_ci "infra_step": true, 1046cb93a386Sopenharmony_ci "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" 1047cb93a386Sopenharmony_ci }, 1048cb93a386Sopenharmony_ci { 1049cb93a386Sopenharmony_ci "cmd": [ 1050cb93a386Sopenharmony_ci "vpython", 1051cb93a386Sopenharmony_ci "-u", 1052cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 1053cb93a386Sopenharmony_ci "--json-output", 1054cb93a386Sopenharmony_ci "/path/to/tmp/json", 1055cb93a386Sopenharmony_ci "glob", 1056cb93a386Sopenharmony_ci "[START_DIR]/svg", 1057cb93a386Sopenharmony_ci "*" 1058cb93a386Sopenharmony_ci ], 1059cb93a386Sopenharmony_ci "infra_step": true, 1060cb93a386Sopenharmony_ci "name": "ls [START_DIR]/svg/*", 1061cb93a386Sopenharmony_ci "~followup_annotations": [ 1062cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/bar.jpg@@@", 1063cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/foo.png@@@", 1064cb93a386Sopenharmony_ci "@@@STEP_LOG_END@glob@@@" 1065cb93a386Sopenharmony_ci ] 1066cb93a386Sopenharmony_ci }, 1067cb93a386Sopenharmony_ci { 1068cb93a386Sopenharmony_ci "cmd": [ 1069cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1070cb93a386Sopenharmony_ci "push", 1071cb93a386Sopenharmony_ci "[START_DIR]/svg/bar.jpg", 1072cb93a386Sopenharmony_ci "[START_DIR]/svg/foo.png", 1073cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/svgs" 1074cb93a386Sopenharmony_ci ], 1075cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1076cb93a386Sopenharmony_ci "env": { 1077cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1078cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1079cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1080cb93a386Sopenharmony_ci }, 1081cb93a386Sopenharmony_ci "infra_step": true, 1082cb93a386Sopenharmony_ci "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs" 1083cb93a386Sopenharmony_ci }, 1084cb93a386Sopenharmony_ci { 1085cb93a386Sopenharmony_ci "cmd": [ 1086cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1087cb93a386Sopenharmony_ci "push", 1088cb93a386Sopenharmony_ci "[START_DIR]/tmp/SVG_VERSION", 1089cb93a386Sopenharmony_ci "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 1090cb93a386Sopenharmony_ci ], 1091cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1092cb93a386Sopenharmony_ci "env": { 1093cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1094cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1095cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1096cb93a386Sopenharmony_ci }, 1097cb93a386Sopenharmony_ci "infra_step": true, 1098cb93a386Sopenharmony_ci "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION" 1099cb93a386Sopenharmony_ci }, 1100cb93a386Sopenharmony_ci { 1101cb93a386Sopenharmony_ci "cmd": [ 1102cb93a386Sopenharmony_ci "python", 1103cb93a386Sopenharmony_ci "-u", 1104cb93a386Sopenharmony_ci "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n" 1105cb93a386Sopenharmony_ci ], 1106cb93a386Sopenharmony_ci "name": "get swarming task id", 1107cb93a386Sopenharmony_ci "~followup_annotations": [ 1108cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 1109cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@", 1110cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 1111cb93a386Sopenharmony_ci ] 1112cb93a386Sopenharmony_ci }, 1113cb93a386Sopenharmony_ci { 1114cb93a386Sopenharmony_ci "cmd": [ 1115cb93a386Sopenharmony_ci "vpython", 1116cb93a386Sopenharmony_ci "-u", 1117cb93a386Sopenharmony_ci "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 1118cb93a386Sopenharmony_ci "--json-output", 1119cb93a386Sopenharmony_ci "/path/to/tmp/json", 1120cb93a386Sopenharmony_ci "copy", 1121cb93a386Sopenharmony_ci "set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --example --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs/svg; echo $? >/data/local/tmp/rc", 1122cb93a386Sopenharmony_ci "[START_DIR]/tmp/dm.sh" 1123cb93a386Sopenharmony_ci ], 1124cb93a386Sopenharmony_ci "env": { 1125cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1126cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1127cb93a386Sopenharmony_ci }, 1128cb93a386Sopenharmony_ci "infra_step": true, 1129cb93a386Sopenharmony_ci "name": "write dm.sh", 1130cb93a386Sopenharmony_ci "~followup_annotations": [ 1131cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@dm.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --example --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs/svg; echo $? >/data/local/tmp/rc@@@", 1132cb93a386Sopenharmony_ci "@@@STEP_LOG_END@dm.sh@@@" 1133cb93a386Sopenharmony_ci ] 1134cb93a386Sopenharmony_ci }, 1135cb93a386Sopenharmony_ci { 1136cb93a386Sopenharmony_ci "cmd": [ 1137cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1138cb93a386Sopenharmony_ci "push", 1139cb93a386Sopenharmony_ci "[START_DIR]/tmp/dm.sh", 1140cb93a386Sopenharmony_ci "/data/local/tmp/" 1141cb93a386Sopenharmony_ci ], 1142cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1143cb93a386Sopenharmony_ci "env": { 1144cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1145cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1146cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1147cb93a386Sopenharmony_ci }, 1148cb93a386Sopenharmony_ci "infra_step": true, 1149cb93a386Sopenharmony_ci "name": "push dm.sh" 1150cb93a386Sopenharmony_ci }, 1151cb93a386Sopenharmony_ci { 1152cb93a386Sopenharmony_ci "cmd": [ 1153cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1154cb93a386Sopenharmony_ci "logcat", 1155cb93a386Sopenharmony_ci "-c" 1156cb93a386Sopenharmony_ci ], 1157cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1158cb93a386Sopenharmony_ci "env": { 1159cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1160cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1161cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1162cb93a386Sopenharmony_ci }, 1163cb93a386Sopenharmony_ci "infra_step": true, 1164cb93a386Sopenharmony_ci "name": "clear log" 1165cb93a386Sopenharmony_ci }, 1166cb93a386Sopenharmony_ci { 1167cb93a386Sopenharmony_ci "cmd": [ 1168cb93a386Sopenharmony_ci "python", 1169cb93a386Sopenharmony_ci "-u", 1170cb93a386Sopenharmony_ci "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',\n bin_dir + 'rc'])))\nexcept ValueError:\n print(\"Couldn't read the return code. Probably killed for OOM.\")\n sys.exit(1)\n", 1171cb93a386Sopenharmony_ci "/data/local/tmp/", 1172cb93a386Sopenharmony_ci "dm.sh" 1173cb93a386Sopenharmony_ci ], 1174cb93a386Sopenharmony_ci "env": { 1175cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1176cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1177cb93a386Sopenharmony_ci }, 1178cb93a386Sopenharmony_ci "name": "dm", 1179cb93a386Sopenharmony_ci "~followup_annotations": [ 1180cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 1181cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 1182cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 1183cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@", 1184cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@", 1185cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@", 1186cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@try:@@@", 1187cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@", 1188cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@", 1189cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@", 1190cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print(\"Couldn't read the return code. Probably killed for OOM.\")@@@", 1191cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", 1192cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 1193cb93a386Sopenharmony_ci ] 1194cb93a386Sopenharmony_ci }, 1195cb93a386Sopenharmony_ci { 1196cb93a386Sopenharmony_ci "cmd": [ 1197cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1198cb93a386Sopenharmony_ci "wait-for-device" 1199cb93a386Sopenharmony_ci ], 1200cb93a386Sopenharmony_ci "env": { 1201cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1202cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1203cb93a386Sopenharmony_ci }, 1204cb93a386Sopenharmony_ci "infra_step": true, 1205cb93a386Sopenharmony_ci "name": "wait for device before uninstalling ASAN", 1206cb93a386Sopenharmony_ci "timeout": 180 1207cb93a386Sopenharmony_ci }, 1208cb93a386Sopenharmony_ci { 1209cb93a386Sopenharmony_ci "cmd": [ 1210cb93a386Sopenharmony_ci "[START_DIR]/android_ndk_linux/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8/bin/asan_device_setup", 1211cb93a386Sopenharmony_ci "--revert" 1212cb93a386Sopenharmony_ci ], 1213cb93a386Sopenharmony_ci "env": { 1214cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1215cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1216cb93a386Sopenharmony_ci }, 1217cb93a386Sopenharmony_ci "infra_step": true, 1218cb93a386Sopenharmony_ci "name": "uninstall ASAN", 1219cb93a386Sopenharmony_ci "timeout": 300 1220cb93a386Sopenharmony_ci }, 1221cb93a386Sopenharmony_ci { 1222cb93a386Sopenharmony_ci "cmd": [ 1223cb93a386Sopenharmony_ci "python", 1224cb93a386Sopenharmony_ci "-u", 1225cb93a386Sopenharmony_ci "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n try:\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n except subprocess.CalledProcessError:\n pass\n print(line)\n", 1226cb93a386Sopenharmony_ci "[START_DIR]/build" 1227cb93a386Sopenharmony_ci ], 1228cb93a386Sopenharmony_ci "env": { 1229cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1230cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1231cb93a386Sopenharmony_ci }, 1232cb93a386Sopenharmony_ci "infra_step": true, 1233cb93a386Sopenharmony_ci "name": "dump log", 1234cb93a386Sopenharmony_ci "timeout": 300, 1235cb93a386Sopenharmony_ci "~followup_annotations": [ 1236cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@@@@", 1237cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import os@@@", 1238cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 1239cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@import sys@@@", 1240cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@", 1241cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@", 1242cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@", 1243cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@", 1244cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@", 1245cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@", 1246cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@", 1247cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@", 1248cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ try:@@@", 1249cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@", 1250cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@", 1251cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ except subprocess.CalledProcessError:@@@", 1252cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ pass@@@", 1253cb93a386Sopenharmony_ci "@@@STEP_LOG_LINE@python.inline@ print(line)@@@", 1254cb93a386Sopenharmony_ci "@@@STEP_LOG_END@python.inline@@@" 1255cb93a386Sopenharmony_ci ] 1256cb93a386Sopenharmony_ci }, 1257cb93a386Sopenharmony_ci { 1258cb93a386Sopenharmony_ci "cmd": [ 1259cb93a386Sopenharmony_ci "/usr/bin/adb.1.0.35", 1260cb93a386Sopenharmony_ci "kill-server" 1261cb93a386Sopenharmony_ci ], 1262cb93a386Sopenharmony_ci "cwd": "[START_DIR]/skia", 1263cb93a386Sopenharmony_ci "env": { 1264cb93a386Sopenharmony_ci "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey", 1265cb93a386Sopenharmony_ci "CHROME_HEADLESS": "1", 1266cb93a386Sopenharmony_ci "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1267cb93a386Sopenharmony_ci }, 1268cb93a386Sopenharmony_ci "infra_step": true, 1269cb93a386Sopenharmony_ci "name": "kill adb server" 1270cb93a386Sopenharmony_ci }, 1271cb93a386Sopenharmony_ci { 1272cb93a386Sopenharmony_ci "name": "$result" 1273cb93a386Sopenharmony_ci } 1274cb93a386Sopenharmony_ci]