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