Home | History | Annotate | Download | only in test.expected
      1 [
      2   {
      3     "cmd": [
      4       "python",
      5       "-u",
      6       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      7       "--json-output",
      8       "/path/to/tmp/json",
      9       "ensure-directory",
     10       "--mode",
     11       "0777",
     12       "[START_DIR]/tmp"
     13     ],
     14     "infra_step": true,
     15     "name": "makedirs tmp_dir"
     16   },
     17   {
     18     "cmd": [
     19       "python",
     20       "-u",
     21       "\nimport os\nSSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')\nwith open(SSH_MACHINE_FILE, 'r') as f:\n  print f.read()\n"
     22     ],
     23     "env": {
     24       "CHROME_HEADLESS": "1",
     25       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
     26     },
     27     "infra_step": true,
     28     "name": "read chromeos ip",
     29     "stdout": "/path/to/tmp/",
     30     "~followup_annotations": [
     31       "@@@STEP_LOG_LINE (a] python.inline@@@@",
     32       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
     33       "@@@STEP_LOG_LINE (a] python.inline@SSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')@@@",
     34       "@@@STEP_LOG_LINE (a] python.inline@with open(SSH_MACHINE_FILE, 'r') as f:@@@",
     35       "@@@STEP_LOG_LINE (a] python.inline@  print f.read()@@@",
     36       "@@@STEP_LOG_END (a] python.inline@@@"
     37     ]
     38   },
     39   {
     40     "cmd": [
     41       "ssh",
     42       "-oConnectTimeout=15",
     43       "-oBatchMode=yes",
     44       "-t",
     45       "-t",
     46       "foo (a] 127.0.0.1",
     47       "mkdir",
     48       "-p",
     49       "/home/chronos/user/resources"
     50     ],
     51     "env": {
     52       "CHROME_HEADLESS": "1",
     53       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
     54     },
     55     "infra_step": true,
     56     "name": "mkdir /home/chronos/user/resources"
     57   },
     58   {
     59     "cmd": [
     60       "ssh",
     61       "-oConnectTimeout=15",
     62       "-oBatchMode=yes",
     63       "-t",
     64       "-t",
     65       "foo (a] 127.0.0.1",
     66       "sudo",
     67       "mount",
     68       "-i",
     69       "-o",
     70       "remount,exec",
     71       "/home/chronos"
     72     ],
     73     "env": {
     74       "CHROME_HEADLESS": "1",
     75       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
     76     },
     77     "infra_step": true,
     78     "name": "remount /home/chronos/user/ as exec"
     79   },
     80   {
     81     "cmd": [
     82       "ssh",
     83       "-oConnectTimeout=15",
     84       "-oBatchMode=yes",
     85       "-t",
     86       "-t",
     87       "foo (a] 127.0.0.1",
     88       "rm",
     89       "-rf",
     90       "/home/chronos/user/bin"
     91     ],
     92     "env": {
     93       "CHROME_HEADLESS": "1",
     94       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
     95     },
     96     "infra_step": true,
     97     "name": "rm /home/chronos/user/bin"
     98   },
     99   {
    100     "cmd": [
    101       "ssh",
    102       "-oConnectTimeout=15",
    103       "-oBatchMode=yes",
    104       "-t",
    105       "-t",
    106       "foo (a] 127.0.0.1",
    107       "mkdir",
    108       "-p",
    109       "/home/chronos/user/bin"
    110     ],
    111     "env": {
    112       "CHROME_HEADLESS": "1",
    113       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    114     },
    115     "infra_step": true,
    116     "name": "mkdir /home/chronos/user/bin"
    117   },
    118   {
    119     "cmd": [
    120       "python",
    121       "-u",
    122       "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
    123       "[START_DIR]/skia/resources",
    124       "foo (a] 127.0.0.1:/home/chronos/user/resources"
    125     ],
    126     "infra_step": true,
    127     "name": "scp -r [START_DIR]/skia/resources foo (a] 127.0.0.1:/home/chronos/user/resources",
    128     "~followup_annotations": [
    129       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    130       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    131       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    132       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
    133       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
    134       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
    135       "@@@STEP_LOG_END (a] python.inline@@@"
    136     ]
    137   },
    138   {
    139     "cmd": [
    140       "python",
    141       "-u",
    142       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    143       "--json-output",
    144       "/path/to/tmp/json",
    145       "copy",
    146       "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
    147       "/path/to/tmp/"
    148     ],
    149     "infra_step": true,
    150     "name": "Get skp VERSION"
    151   },
    152   {
    153     "cmd": [
    154       "python",
    155       "-u",
    156       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    157       "--json-output",
    158       "/path/to/tmp/json",
    159       "copy",
    160       "42",
    161       "[START_DIR]/tmp/SKP_VERSION"
    162     ],
    163     "infra_step": true,
    164     "name": "write SKP_VERSION"
    165   },
    166   {
    167     "cmd": [
    168       "ssh",
    169       "-oConnectTimeout=15",
    170       "-oBatchMode=yes",
    171       "-t",
    172       "-t",
    173       "foo (a] 127.0.0.1",
    174       "cat",
    175       "/home/chronos/user/SKP_VERSION"
    176     ],
    177     "env": {
    178       "CHROME_HEADLESS": "1",
    179       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    180     },
    181     "infra_step": true,
    182     "name": "read /home/chronos/user/SKP_VERSION",
    183     "stdout": "/path/to/tmp/"
    184   },
    185   {
    186     "cmd": [
    187       "ssh",
    188       "-oConnectTimeout=15",
    189       "-oBatchMode=yes",
    190       "-t",
    191       "-t",
    192       "foo (a] 127.0.0.1",
    193       "rm",
    194       "-f",
    195       "/home/chronos/user/SKP_VERSION"
    196     ],
    197     "env": {
    198       "CHROME_HEADLESS": "1",
    199       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    200     },
    201     "infra_step": true,
    202     "name": "rm /home/chronos/user/SKP_VERSION"
    203   },
    204   {
    205     "cmd": [
    206       "ssh",
    207       "-oConnectTimeout=15",
    208       "-oBatchMode=yes",
    209       "-t",
    210       "-t",
    211       "foo (a] 127.0.0.1",
    212       "rm",
    213       "-rf",
    214       "/home/chronos/user/skps"
    215     ],
    216     "env": {
    217       "CHROME_HEADLESS": "1",
    218       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    219     },
    220     "infra_step": true,
    221     "name": "rm /home/chronos/user/skps"
    222   },
    223   {
    224     "cmd": [
    225       "ssh",
    226       "-oConnectTimeout=15",
    227       "-oBatchMode=yes",
    228       "-t",
    229       "-t",
    230       "foo (a] 127.0.0.1",
    231       "mkdir",
    232       "-p",
    233       "/home/chronos/user/skps"
    234     ],
    235     "env": {
    236       "CHROME_HEADLESS": "1",
    237       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    238     },
    239     "infra_step": true,
    240     "name": "mkdir /home/chronos/user/skps"
    241   },
    242   {
    243     "cmd": [
    244       "python",
    245       "-u",
    246       "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
    247       "[START_DIR]/skp",
    248       "foo (a] 127.0.0.1:/home/chronos/user/skps"
    249     ],
    250     "infra_step": true,
    251     "name": "scp -r [START_DIR]/skp foo (a] 127.0.0.1:/home/chronos/user/skps",
    252     "~followup_annotations": [
    253       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    254       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    255       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    256       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
    257       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
    258       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
    259       "@@@STEP_LOG_END (a] python.inline@@@"
    260     ]
    261   },
    262   {
    263     "cmd": [
    264       "python",
    265       "-u",
    266       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    267       "[START_DIR]/tmp/SKP_VERSION",
    268       "foo (a] 127.0.0.1:/home/chronos/user/SKP_VERSION"
    269     ],
    270     "infra_step": true,
    271     "name": "scp [START_DIR]/tmp/SKP_VERSION foo (a] 127.0.0.1:/home/chronos/user/SKP_VERSION",
    272     "~followup_annotations": [
    273       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    274       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    275       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    276       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    277       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    278       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    279       "@@@STEP_LOG_END (a] python.inline@@@"
    280     ]
    281   },
    282   {
    283     "cmd": [
    284       "python",
    285       "-u",
    286       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    287       "--json-output",
    288       "/path/to/tmp/json",
    289       "copy",
    290       "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
    291       "/path/to/tmp/"
    292     ],
    293     "infra_step": true,
    294     "name": "Get skimage VERSION"
    295   },
    296   {
    297     "cmd": [
    298       "python",
    299       "-u",
    300       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    301       "--json-output",
    302       "/path/to/tmp/json",
    303       "copy",
    304       "42",
    305       "[START_DIR]/tmp/SK_IMAGE_VERSION"
    306     ],
    307     "infra_step": true,
    308     "name": "write SK_IMAGE_VERSION"
    309   },
    310   {
    311     "cmd": [
    312       "ssh",
    313       "-oConnectTimeout=15",
    314       "-oBatchMode=yes",
    315       "-t",
    316       "-t",
    317       "foo (a] 127.0.0.1",
    318       "cat",
    319       "/home/chronos/user/SK_IMAGE_VERSION"
    320     ],
    321     "env": {
    322       "CHROME_HEADLESS": "1",
    323       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    324     },
    325     "infra_step": true,
    326     "name": "read /home/chronos/user/SK_IMAGE_VERSION",
    327     "stdout": "/path/to/tmp/"
    328   },
    329   {
    330     "cmd": [
    331       "ssh",
    332       "-oConnectTimeout=15",
    333       "-oBatchMode=yes",
    334       "-t",
    335       "-t",
    336       "foo (a] 127.0.0.1",
    337       "rm",
    338       "-f",
    339       "/home/chronos/user/SK_IMAGE_VERSION"
    340     ],
    341     "env": {
    342       "CHROME_HEADLESS": "1",
    343       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    344     },
    345     "infra_step": true,
    346     "name": "rm /home/chronos/user/SK_IMAGE_VERSION"
    347   },
    348   {
    349     "cmd": [
    350       "ssh",
    351       "-oConnectTimeout=15",
    352       "-oBatchMode=yes",
    353       "-t",
    354       "-t",
    355       "foo (a] 127.0.0.1",
    356       "rm",
    357       "-rf",
    358       "/home/chronos/user/images"
    359     ],
    360     "env": {
    361       "CHROME_HEADLESS": "1",
    362       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    363     },
    364     "infra_step": true,
    365     "name": "rm /home/chronos/user/images"
    366   },
    367   {
    368     "cmd": [
    369       "ssh",
    370       "-oConnectTimeout=15",
    371       "-oBatchMode=yes",
    372       "-t",
    373       "-t",
    374       "foo (a] 127.0.0.1",
    375       "mkdir",
    376       "-p",
    377       "/home/chronos/user/images"
    378     ],
    379     "env": {
    380       "CHROME_HEADLESS": "1",
    381       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    382     },
    383     "infra_step": true,
    384     "name": "mkdir /home/chronos/user/images"
    385   },
    386   {
    387     "cmd": [
    388       "python",
    389       "-u",
    390       "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
    391       "[START_DIR]/skimage",
    392       "foo (a] 127.0.0.1:/home/chronos/user/images"
    393     ],
    394     "infra_step": true,
    395     "name": "scp -r [START_DIR]/skimage foo (a] 127.0.0.1:/home/chronos/user/images",
    396     "~followup_annotations": [
    397       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    398       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    399       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    400       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
    401       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
    402       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
    403       "@@@STEP_LOG_END (a] python.inline@@@"
    404     ]
    405   },
    406   {
    407     "cmd": [
    408       "python",
    409       "-u",
    410       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    411       "[START_DIR]/tmp/SK_IMAGE_VERSION",
    412       "foo (a] 127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION"
    413     ],
    414     "infra_step": true,
    415     "name": "scp [START_DIR]/tmp/SK_IMAGE_VERSION foo (a] 127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION",
    416     "~followup_annotations": [
    417       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    418       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    419       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    420       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    421       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    422       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    423       "@@@STEP_LOG_END (a] python.inline@@@"
    424     ]
    425   },
    426   {
    427     "cmd": [
    428       "python",
    429       "-u",
    430       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    431       "--json-output",
    432       "/path/to/tmp/json",
    433       "copy",
    434       "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
    435       "/path/to/tmp/"
    436     ],
    437     "infra_step": true,
    438     "name": "Get svg VERSION"
    439   },
    440   {
    441     "cmd": [
    442       "python",
    443       "-u",
    444       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    445       "--json-output",
    446       "/path/to/tmp/json",
    447       "copy",
    448       "42",
    449       "[START_DIR]/tmp/SVG_VERSION"
    450     ],
    451     "infra_step": true,
    452     "name": "write SVG_VERSION"
    453   },
    454   {
    455     "cmd": [
    456       "ssh",
    457       "-oConnectTimeout=15",
    458       "-oBatchMode=yes",
    459       "-t",
    460       "-t",
    461       "foo (a] 127.0.0.1",
    462       "cat",
    463       "/home/chronos/user/SVG_VERSION"
    464     ],
    465     "env": {
    466       "CHROME_HEADLESS": "1",
    467       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    468     },
    469     "infra_step": true,
    470     "name": "read /home/chronos/user/SVG_VERSION",
    471     "stdout": "/path/to/tmp/"
    472   },
    473   {
    474     "cmd": [
    475       "ssh",
    476       "-oConnectTimeout=15",
    477       "-oBatchMode=yes",
    478       "-t",
    479       "-t",
    480       "foo (a] 127.0.0.1",
    481       "rm",
    482       "-f",
    483       "/home/chronos/user/SVG_VERSION"
    484     ],
    485     "env": {
    486       "CHROME_HEADLESS": "1",
    487       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    488     },
    489     "infra_step": true,
    490     "name": "rm /home/chronos/user/SVG_VERSION"
    491   },
    492   {
    493     "cmd": [
    494       "ssh",
    495       "-oConnectTimeout=15",
    496       "-oBatchMode=yes",
    497       "-t",
    498       "-t",
    499       "foo (a] 127.0.0.1",
    500       "rm",
    501       "-rf",
    502       "/home/chronos/user/svgs"
    503     ],
    504     "env": {
    505       "CHROME_HEADLESS": "1",
    506       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    507     },
    508     "infra_step": true,
    509     "name": "rm /home/chronos/user/svgs"
    510   },
    511   {
    512     "cmd": [
    513       "ssh",
    514       "-oConnectTimeout=15",
    515       "-oBatchMode=yes",
    516       "-t",
    517       "-t",
    518       "foo (a] 127.0.0.1",
    519       "mkdir",
    520       "-p",
    521       "/home/chronos/user/svgs"
    522     ],
    523     "env": {
    524       "CHROME_HEADLESS": "1",
    525       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    526     },
    527     "infra_step": true,
    528     "name": "mkdir /home/chronos/user/svgs"
    529   },
    530   {
    531     "cmd": [
    532       "python",
    533       "-u",
    534       "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
    535       "[START_DIR]/svg",
    536       "foo (a] 127.0.0.1:/home/chronos/user/svgs"
    537     ],
    538     "infra_step": true,
    539     "name": "scp -r [START_DIR]/svg foo (a] 127.0.0.1:/home/chronos/user/svgs",
    540     "~followup_annotations": [
    541       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    542       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    543       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    544       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
    545       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
    546       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
    547       "@@@STEP_LOG_END (a] python.inline@@@"
    548     ]
    549   },
    550   {
    551     "cmd": [
    552       "python",
    553       "-u",
    554       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    555       "[START_DIR]/tmp/SVG_VERSION",
    556       "foo (a] 127.0.0.1:/home/chronos/user/SVG_VERSION"
    557     ],
    558     "infra_step": true,
    559     "name": "scp [START_DIR]/tmp/SVG_VERSION foo (a] 127.0.0.1:/home/chronos/user/SVG_VERSION",
    560     "~followup_annotations": [
    561       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    562       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    563       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    564       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    565       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    566       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    567       "@@@STEP_LOG_END (a] python.inline@@@"
    568     ]
    569   },
    570   {
    571     "cmd": [
    572       "python",
    573       "-u",
    574       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    575       "--json-output",
    576       "/path/to/tmp/json",
    577       "rmtree",
    578       "[START_DIR]/test"
    579     ],
    580     "infra_step": true,
    581     "name": "rmtree test"
    582   },
    583   {
    584     "cmd": [
    585       "python",
    586       "-u",
    587       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    588       "--json-output",
    589       "/path/to/tmp/json",
    590       "ensure-directory",
    591       "--mode",
    592       "0777",
    593       "[START_DIR]/test"
    594     ],
    595     "infra_step": true,
    596     "name": "makedirs test"
    597   },
    598   {
    599     "cmd": [
    600       "ssh",
    601       "-oConnectTimeout=15",
    602       "-oBatchMode=yes",
    603       "-t",
    604       "-t",
    605       "foo (a] 127.0.0.1",
    606       "rm",
    607       "-rf",
    608       "/home/chronos/user/dm_out"
    609     ],
    610     "env": {
    611       "CHROME_HEADLESS": "1",
    612       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    613     },
    614     "infra_step": true,
    615     "name": "rm /home/chronos/user/dm_out"
    616   },
    617   {
    618     "cmd": [
    619       "ssh",
    620       "-oConnectTimeout=15",
    621       "-oBatchMode=yes",
    622       "-t",
    623       "-t",
    624       "foo (a] 127.0.0.1",
    625       "mkdir",
    626       "-p",
    627       "/home/chronos/user/dm_out"
    628     ],
    629     "env": {
    630       "CHROME_HEADLESS": "1",
    631       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    632     },
    633     "infra_step": true,
    634     "name": "mkdir /home/chronos/user/dm_out"
    635   },
    636   {
    637     "cmd": [
    638       "python",
    639       "-u",
    640       "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[2], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n    print e\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print 'Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n",
    641       "https://example.com/hashes.txt",
    642       "[START_DIR]/tmp/uninteresting_hashes.txt"
    643     ],
    644     "env": {
    645       "CHROME_HEADLESS": "1",
    646       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    647     },
    648     "infra_step": true,
    649     "name": "get uninteresting hashes",
    650     "~followup_annotations": [
    651       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    652       "@@@STEP_LOG_LINE (a] python.inline@import contextlib@@@",
    653       "@@@STEP_LOG_LINE (a] python.inline@import math@@@",
    654       "@@@STEP_LOG_LINE (a] python.inline@import socket@@@",
    655       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    656       "@@@STEP_LOG_LINE (a] python.inline@import time@@@",
    657       "@@@STEP_LOG_LINE (a] python.inline@import urllib2@@@",
    658       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    659       "@@@STEP_LOG_LINE (a] python.inline@HASHES_URL = sys.argv[1]@@@",
    660       "@@@STEP_LOG_LINE (a] python.inline@RETRIES = 5@@@",
    661       "@@@STEP_LOG_LINE (a] python.inline@TIMEOUT = 60@@@",
    662       "@@@STEP_LOG_LINE (a] python.inline@WAIT_BASE = 15@@@",
    663       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    664       "@@@STEP_LOG_LINE (a] python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
    665       "@@@STEP_LOG_LINE (a] python.inline@for retry in range(RETRIES):@@@",
    666       "@@@STEP_LOG_LINE (a] python.inline@  try:@@@",
    667       "@@@STEP_LOG_LINE (a] python.inline@    with contextlib.closing(@@@",
    668       "@@@STEP_LOG_LINE (a] python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
    669       "@@@STEP_LOG_LINE (a] python.inline@      hashes = w.read()@@@",
    670       "@@@STEP_LOG_LINE (a] python.inline@      with open(sys.argv[2], 'w') as f:@@@",
    671       "@@@STEP_LOG_LINE (a] python.inline@        f.write(hashes)@@@",
    672       "@@@STEP_LOG_LINE (a] python.inline@        break@@@",
    673       "@@@STEP_LOG_LINE (a] python.inline@  except Exception as e:@@@",
    674       "@@@STEP_LOG_LINE (a] python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
    675       "@@@STEP_LOG_LINE (a] python.inline@    print e@@@",
    676       "@@@STEP_LOG_LINE (a] python.inline@    if retry == RETRIES:@@@",
    677       "@@@STEP_LOG_LINE (a] python.inline@      raise@@@",
    678       "@@@STEP_LOG_LINE (a] python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
    679       "@@@STEP_LOG_LINE (a] python.inline@    print 'Retry in %d seconds.' % waittime@@@",
    680       "@@@STEP_LOG_LINE (a] python.inline@    time.sleep(waittime)@@@",
    681       "@@@STEP_LOG_END (a] python.inline@@@"
    682     ]
    683   },
    684   {
    685     "cmd": [
    686       "python",
    687       "-u",
    688       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    689       "[START_DIR]/tmp/uninteresting_hashes.txt",
    690       "foo (a] 127.0.0.1:/home/chronos/user/uninteresting_hashes.txt"
    691     ],
    692     "infra_step": true,
    693     "name": "scp [START_DIR]/tmp/uninteresting_hashes.txt foo (a] 127.0.0.1:/home/chronos/user/uninteresting_hashes.txt",
    694     "~followup_annotations": [
    695       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    696       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    697       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    698       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    699       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    700       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    701       "@@@STEP_LOG_END (a] python.inline@@@"
    702     ]
    703   },
    704   {
    705     "cmd": [
    706       "python",
    707       "-u",
    708       "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
    709     ],
    710     "name": "get swarming bot id",
    711     "stdout": "/path/to/tmp/",
    712     "~followup_annotations": [
    713       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
    714       "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
    715       "@@@STEP_LOG_END (a] python.inline@@@"
    716     ]
    717   },
    718   {
    719     "cmd": [
    720       "python",
    721       "-u",
    722       "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
    723     ],
    724     "name": "get swarming task id",
    725     "stdout": "/path/to/tmp/",
    726     "~followup_annotations": [
    727       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
    728       "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
    729       "@@@STEP_LOG_END (a] python.inline@@@"
    730     ]
    731   },
    732   {
    733     "cmd": [
    734       "python",
    735       "-u",
    736       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    737       "--json-output",
    738       "/path/to/tmp/json",
    739       "rmtree",
    740       "[START_DIR]/[SWARM_OUT_DIR]"
    741     ],
    742     "env": {
    743       "CHROME_HEADLESS": "1",
    744       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    745     },
    746     "infra_step": true,
    747     "name": "rmtree [SWARM_OUT_DIR]"
    748   },
    749   {
    750     "cmd": [
    751       "python",
    752       "-u",
    753       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    754       "--json-output",
    755       "/path/to/tmp/json",
    756       "ensure-directory",
    757       "--mode",
    758       "0777",
    759       "[START_DIR]/[SWARM_OUT_DIR]"
    760     ],
    761     "env": {
    762       "CHROME_HEADLESS": "1",
    763       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    764     },
    765     "infra_step": true,
    766     "name": "makedirs [SWARM_OUT_DIR]"
    767   },
    768   {
    769     "cmd": [
    770       "python",
    771       "-u",
    772       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    773       "[START_DIR]/build/dm",
    774       "foo (a] 127.0.0.1:/home/chronos/user/bin/dm"
    775     ],
    776     "env": {
    777       "CHROME_HEADLESS": "1",
    778       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    779     },
    780     "infra_step": true,
    781     "name": "scp [START_DIR]/build/dm foo (a] 127.0.0.1:/home/chronos/user/bin/dm",
    782     "~followup_annotations": [
    783       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    784       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    785       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    786       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    787       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    788       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    789       "@@@STEP_LOG_END (a] python.inline@@@"
    790     ]
    791   },
    792   {
    793     "cmd": [
    794       "ssh",
    795       "-oConnectTimeout=15",
    796       "-oBatchMode=yes",
    797       "-t",
    798       "-t",
    799       "foo (a] 127.0.0.1",
    800       "chmod",
    801       "+x",
    802       "/home/chronos/user/bin/dm"
    803     ],
    804     "env": {
    805       "CHROME_HEADLESS": "1",
    806       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    807     },
    808     "infra_step": true,
    809     "name": "chmod dm"
    810   },
    811   {
    812     "cmd": [
    813       "ssh",
    814       "-oConnectTimeout=15",
    815       "-oBatchMode=yes",
    816       "-t",
    817       "-t",
    818       "foo (a] 127.0.0.1",
    819       "/home/chronos/user/bin/dm",
    820       "--resourcePath",
    821       "/home/chronos/user/resources",
    822       "--skps",
    823       "/home/chronos/user/skps",
    824       "--images",
    825       "/home/chronos/user/images/dm",
    826       "--colorImages",
    827       "/home/chronos/user/images/colorspace",
    828       "--nameByHash",
    829       "--properties",
    830       "gitHash",
    831       "abc123",
    832       "builder",
    833       "Test-ChromeOS-Clang-AcerChromebookR13Convertible-GPU-PowerVRGX6250-arm-Debug-All",
    834       "buildbucket_build_id",
    835       "123454321",
    836       "swarming_bot_id",
    837       "skia-bot-123",
    838       "swarming_task_id",
    839       "123456",
    840       "--svgs",
    841       "/home/chronos/user/svgs",
    842       "--key",
    843       "arch",
    844       "arm",
    845       "compiler",
    846       "Clang",
    847       "configuration",
    848       "Debug",
    849       "cpu_or_gpu",
    850       "GPU",
    851       "cpu_or_gpu_value",
    852       "PowerVRGX6250",
    853       "model",
    854       "AcerChromebookR13Convertible",
    855       "os",
    856       "ChromeOS",
    857       "--uninterestingHashesFile",
    858       "/home/chronos/user/uninteresting_hashes.txt",
    859       "--writePath",
    860       "/home/chronos/user/dm_out",
    861       "--dont_write",
    862       "pdf",
    863       "--randomProcessorTest",
    864       "--nocpu",
    865       "--config",
    866       "gles",
    867       "--src",
    868       "tests",
    869       "gm",
    870       "image",
    871       "colorImage",
    872       "svg",
    873       "--blacklist",
    874       "_",
    875       "svg",
    876       "_",
    877       "svgparse_",
    878       "_",
    879       "image",
    880       "gen_platf",
    881       "error",
    882       "_",
    883       "image",
    884       "_",
    885       "interlaced1.png",
    886       "_",
    887       "image",
    888       "_",
    889       "interlaced2.png",
    890       "_",
    891       "image",
    892       "_",
    893       "interlaced3.png",
    894       "_",
    895       "image",
    896       "_",
    897       ".arw",
    898       "_",
    899       "image",
    900       "_",
    901       ".cr2",
    902       "_",
    903       "image",
    904       "_",
    905       ".dng",
    906       "_",
    907       "image",
    908       "_",
    909       ".nef",
    910       "_",
    911       "image",
    912       "_",
    913       ".nrw",
    914       "_",
    915       "image",
    916       "_",
    917       ".orf",
    918       "_",
    919       "image",
    920       "_",
    921       ".raf",
    922       "_",
    923       "image",
    924       "_",
    925       ".rw2",
    926       "_",
    927       "image",
    928       "_",
    929       ".pef",
    930       "_",
    931       "image",
    932       "_",
    933       ".srw",
    934       "_",
    935       "image",
    936       "_",
    937       ".ARW",
    938       "_",
    939       "image",
    940       "_",
    941       ".CR2",
    942       "_",
    943       "image",
    944       "_",
    945       ".DNG",
    946       "_",
    947       "image",
    948       "_",
    949       ".NEF",
    950       "_",
    951       "image",
    952       "_",
    953       ".NRW",
    954       "_",
    955       "image",
    956       "_",
    957       ".ORF",
    958       "_",
    959       "image",
    960       "_",
    961       ".RAF",
    962       "_",
    963       "image",
    964       "_",
    965       ".RW2",
    966       "_",
    967       "image",
    968       "_",
    969       ".PEF",
    970       "_",
    971       "image",
    972       "_",
    973       ".SRW",
    974       "--match",
    975       "~gradients_view_perspective_nodither",
    976       "--nonativeFonts",
    977       "--verbose"
    978     ],
    979     "env": {
    980       "CHROME_HEADLESS": "1",
    981       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
    982     },
    983     "infra_step": true,
    984     "name": "dm"
    985   },
    986   {
    987     "cmd": [
    988       "python",
    989       "-u",
    990       "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
    991       "foo (a] 127.0.0.1:/home/chronos/user/dm_out",
    992       "[START_DIR]/[SWARM_OUT_DIR]"
    993     ],
    994     "infra_step": true,
    995     "name": "scp -r foo (a] 127.0.0.1:/home/chronos/user/dm_out [START_DIR]/[SWARM_OUT_DIR]",
    996     "~followup_annotations": [
    997       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    998       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    999       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
   1000       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
   1001       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
   1002       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
   1003       "@@@STEP_LOG_END (a] python.inline@@@"
   1004     ]
   1005   },
   1006   {
   1007     "jsonResult": null,
   1008     "name": "$result"
   1009   }
   1010 ]