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       "ssh",
    592       "-oConnectTimeout=15",
    593       "-oBatchMode=yes",
    594       "-t",
    595       "-t",
    596       "foo (a] 127.0.0.1",
    597       "rm",
    598       "-rf",
    599       "/home/chronos/user/dm_out"
    600     ],
    601     "env": {
    602       "BUILDTYPE": "Debug",
    603       "CHROME_HEADLESS": "1",
    604       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    605       "SKIA_OUT": "[START_DIR]/out"
    606     },
    607     "infra_step": true,
    608     "name": "rm /home/chronos/user/dm_out"
    609   },
    610   {
    611     "cmd": [
    612       "ssh",
    613       "-oConnectTimeout=15",
    614       "-oBatchMode=yes",
    615       "-t",
    616       "-t",
    617       "foo (a] 127.0.0.1",
    618       "mkdir",
    619       "-p",
    620       "/home/chronos/user/dm_out"
    621     ],
    622     "env": {
    623       "BUILDTYPE": "Debug",
    624       "CHROME_HEADLESS": "1",
    625       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    626       "SKIA_OUT": "[START_DIR]/out"
    627     },
    628     "infra_step": true,
    629     "name": "mkdir /home/chronos/user/dm_out"
    630   },
    631   {
    632     "cmd": [
    633       "python",
    634       "-u",
    635       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    636       "--json-output",
    637       "/path/to/tmp/json",
    638       "ensure-directory",
    639       "--mode",
    640       "0777",
    641       "[START_DIR]/tmp"
    642     ],
    643     "infra_step": true,
    644     "name": "makedirs tmp_dir"
    645   },
    646   {
    647     "cmd": [
    648       "python",
    649       "-u",
    650       "\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",
    651       "[START_DIR]/tmp/uninteresting_hashes.txt"
    652     ],
    653     "env": {
    654       "BUILDTYPE": "Debug",
    655       "CHROME_HEADLESS": "1",
    656       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    657       "SKIA_OUT": "[START_DIR]/out"
    658     },
    659     "infra_step": true,
    660     "name": "get uninteresting hashes",
    661     "~followup_annotations": [
    662       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    663       "@@@STEP_LOG_LINE (a] python.inline@import contextlib@@@",
    664       "@@@STEP_LOG_LINE (a] python.inline@import math@@@",
    665       "@@@STEP_LOG_LINE (a] python.inline@import socket@@@",
    666       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    667       "@@@STEP_LOG_LINE (a] python.inline@import time@@@",
    668       "@@@STEP_LOG_LINE (a] python.inline@import urllib2@@@",
    669       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    670       "@@@STEP_LOG_LINE (a] python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
    671       "@@@STEP_LOG_LINE (a] python.inline@RETRIES = 5@@@",
    672       "@@@STEP_LOG_LINE (a] python.inline@TIMEOUT = 60@@@",
    673       "@@@STEP_LOG_LINE (a] python.inline@WAIT_BASE = 15@@@",
    674       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    675       "@@@STEP_LOG_LINE (a] python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
    676       "@@@STEP_LOG_LINE (a] python.inline@for retry in range(RETRIES):@@@",
    677       "@@@STEP_LOG_LINE (a] python.inline@  try:@@@",
    678       "@@@STEP_LOG_LINE (a] python.inline@    with contextlib.closing(@@@",
    679       "@@@STEP_LOG_LINE (a] python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
    680       "@@@STEP_LOG_LINE (a] python.inline@      hashes = w.read()@@@",
    681       "@@@STEP_LOG_LINE (a] python.inline@      with open(sys.argv[1], 'w') as f:@@@",
    682       "@@@STEP_LOG_LINE (a] python.inline@        f.write(hashes)@@@",
    683       "@@@STEP_LOG_LINE (a] python.inline@        break@@@",
    684       "@@@STEP_LOG_LINE (a] python.inline@  except Exception as e:@@@",
    685       "@@@STEP_LOG_LINE (a] python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
    686       "@@@STEP_LOG_LINE (a] python.inline@    print e@@@",
    687       "@@@STEP_LOG_LINE (a] python.inline@    if retry == RETRIES:@@@",
    688       "@@@STEP_LOG_LINE (a] python.inline@      raise@@@",
    689       "@@@STEP_LOG_LINE (a] python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
    690       "@@@STEP_LOG_LINE (a] python.inline@    print 'Retry in %d seconds.' % waittime@@@",
    691       "@@@STEP_LOG_LINE (a] python.inline@    time.sleep(waittime)@@@",
    692       "@@@STEP_LOG_END (a] python.inline@@@"
    693     ]
    694   },
    695   {
    696     "cmd": [
    697       "python",
    698       "-u",
    699       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    700       "[START_DIR]/tmp/uninteresting_hashes.txt",
    701       "foo (a] 127.0.0.1:/home/chronos/user/uninteresting_hashes.txt"
    702     ],
    703     "infra_step": true,
    704     "name": "scp [START_DIR]/tmp/uninteresting_hashes.txt foo (a] 127.0.0.1:/home/chronos/user/uninteresting_hashes.txt",
    705     "~followup_annotations": [
    706       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    707       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    708       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    709       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    710       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    711       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    712       "@@@STEP_LOG_END (a] python.inline@@@"
    713     ]
    714   },
    715   {
    716     "cmd": [
    717       "python",
    718       "-u",
    719       "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
    720     ],
    721     "name": "get swarming bot id",
    722     "stdout": "/path/to/tmp/",
    723     "~followup_annotations": [
    724       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
    725       "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
    726       "@@@STEP_LOG_END (a] python.inline@@@"
    727     ]
    728   },
    729   {
    730     "cmd": [
    731       "python",
    732       "-u",
    733       "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
    734     ],
    735     "name": "get swarming task id",
    736     "stdout": "/path/to/tmp/",
    737     "~followup_annotations": [
    738       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
    739       "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
    740       "@@@STEP_LOG_END (a] python.inline@@@"
    741     ]
    742   },
    743   {
    744     "cmd": [
    745       "python",
    746       "-u",
    747       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    748       "--json-output",
    749       "/path/to/tmp/json",
    750       "rmtree",
    751       "[CUSTOM_[SWARM_OUT_DIR]]/dm"
    752     ],
    753     "env": {
    754       "BUILDTYPE": "Debug",
    755       "CHROME_HEADLESS": "1",
    756       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    757       "SKIA_OUT": "[START_DIR]/out"
    758     },
    759     "infra_step": true,
    760     "name": "rmtree dm"
    761   },
    762   {
    763     "cmd": [
    764       "python",
    765       "-u",
    766       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    767       "--json-output",
    768       "/path/to/tmp/json",
    769       "ensure-directory",
    770       "--mode",
    771       "0777",
    772       "[CUSTOM_[SWARM_OUT_DIR]]/dm"
    773     ],
    774     "env": {
    775       "BUILDTYPE": "Debug",
    776       "CHROME_HEADLESS": "1",
    777       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    778       "SKIA_OUT": "[START_DIR]/out"
    779     },
    780     "infra_step": true,
    781     "name": "makedirs dm"
    782   },
    783   {
    784     "cmd": [
    785       "python",
    786       "-u",
    787       "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
    788       "[START_DIR]/out/Debug/dm",
    789       "foo (a] 127.0.0.1:/home/chronos/user/bin/dm"
    790     ],
    791     "env": {
    792       "BUILDTYPE": "Debug",
    793       "CHROME_HEADLESS": "1",
    794       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    795       "SKIA_OUT": "[START_DIR]/out"
    796     },
    797     "infra_step": true,
    798     "name": "scp [START_DIR]/out/Debug/dm foo (a] 127.0.0.1:/home/chronos/user/bin/dm",
    799     "~followup_annotations": [
    800       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    801       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
    802       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    803       "@@@STEP_LOG_LINE (a] python.inline@host = sys.argv[1]@@@",
    804       "@@@STEP_LOG_LINE (a] python.inline@device   = sys.argv[2]@@@",
    805       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output(['scp', host, device])@@@",
    806       "@@@STEP_LOG_END (a] python.inline@@@"
    807     ]
    808   },
    809   {
    810     "cmd": [
    811       "ssh",
    812       "-oConnectTimeout=15",
    813       "-oBatchMode=yes",
    814       "-t",
    815       "-t",
    816       "foo (a] 127.0.0.1",
    817       "chmod",
    818       "+x",
    819       "/home/chronos/user/bin/dm"
    820     ],
    821     "env": {
    822       "BUILDTYPE": "Debug",
    823       "CHROME_HEADLESS": "1",
    824       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    825       "SKIA_OUT": "[START_DIR]/out"
    826     },
    827     "infra_step": true,
    828     "name": "chmod dm"
    829   },
    830   {
    831     "cmd": [
    832       "ssh",
    833       "-oConnectTimeout=15",
    834       "-oBatchMode=yes",
    835       "-t",
    836       "-t",
    837       "foo (a] 127.0.0.1",
    838       "/home/chronos/user/bin/dm",
    839       "--resourcePath",
    840       "/home/chronos/user/resources",
    841       "--skps",
    842       "/home/chronos/user/skps",
    843       "--images",
    844       "/home/chronos/user/images/dm",
    845       "--colorImages",
    846       "/home/chronos/user/images/colorspace",
    847       "--nameByHash",
    848       "--properties",
    849       "gitHash",
    850       "abc123",
    851       "builder",
    852       "Test-ChromeOS-Clang-AcerChromebookR13Convertible-GPU-PowerVRGX6250-arm-Debug-All",
    853       "buildbucket_build_id",
    854       "123454321",
    855       "swarming_bot_id",
    856       "skia-bot-123",
    857       "swarming_task_id",
    858       "123456",
    859       "--svgs",
    860       "/home/chronos/user/svgs",
    861       "--key",
    862       "arch",
    863       "arm",
    864       "compiler",
    865       "Clang",
    866       "configuration",
    867       "Debug",
    868       "cpu_or_gpu",
    869       "GPU",
    870       "cpu_or_gpu_value",
    871       "PowerVRGX6250",
    872       "model",
    873       "AcerChromebookR13Convertible",
    874       "os",
    875       "ChromeOS",
    876       "--uninterestingHashesFile",
    877       "/home/chronos/user/uninteresting_hashes.txt",
    878       "--writePath",
    879       "/home/chronos/user/dm_out",
    880       "--dont_write",
    881       "pdf",
    882       "--randomProcessorTest",
    883       "--nocpu",
    884       "--config",
    885       "gles",
    886       "--src",
    887       "tests",
    888       "gm",
    889       "image",
    890       "colorImage",
    891       "svg",
    892       "--blacklist",
    893       "_",
    894       "svg",
    895       "_",
    896       "svgparse_",
    897       "_",
    898       "image",
    899       "_",
    900       "interlaced1.png",
    901       "_",
    902       "image",
    903       "_",
    904       "interlaced2.png",
    905       "_",
    906       "image",
    907       "_",
    908       "interlaced3.png",
    909       "_",
    910       "image",
    911       "_",
    912       ".arw",
    913       "_",
    914       "image",
    915       "_",
    916       ".cr2",
    917       "_",
    918       "image",
    919       "_",
    920       ".dng",
    921       "_",
    922       "image",
    923       "_",
    924       ".nef",
    925       "_",
    926       "image",
    927       "_",
    928       ".nrw",
    929       "_",
    930       "image",
    931       "_",
    932       ".orf",
    933       "_",
    934       "image",
    935       "_",
    936       ".raf",
    937       "_",
    938       "image",
    939       "_",
    940       ".rw2",
    941       "_",
    942       "image",
    943       "_",
    944       ".pef",
    945       "_",
    946       "image",
    947       "_",
    948       ".srw",
    949       "_",
    950       "image",
    951       "_",
    952       ".ARW",
    953       "_",
    954       "image",
    955       "_",
    956       ".CR2",
    957       "_",
    958       "image",
    959       "_",
    960       ".DNG",
    961       "_",
    962       "image",
    963       "_",
    964       ".NEF",
    965       "_",
    966       "image",
    967       "_",
    968       ".NRW",
    969       "_",
    970       "image",
    971       "_",
    972       ".ORF",
    973       "_",
    974       "image",
    975       "_",
    976       ".RAF",
    977       "_",
    978       "image",
    979       "_",
    980       ".RW2",
    981       "_",
    982       "image",
    983       "_",
    984       ".PEF",
    985       "_",
    986       "image",
    987       "_",
    988       ".SRW",
    989       "--match",
    990       "~gradients_view_perspective_nodither",
    991       "--nonativeFonts",
    992       "--verbose"
    993     ],
    994     "env": {
    995       "BUILDTYPE": "Debug",
    996       "CHROME_HEADLESS": "1",
    997       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    998       "SKIA_OUT": "[START_DIR]/out"
    999     },
   1000     "infra_step": true,
   1001     "name": "dm"
   1002   },
   1003   {
   1004     "cmd": [
   1005       "python",
   1006       "-u",
   1007       "\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",
   1008       "foo (a] 127.0.0.1:/home/chronos/user/dm_out",
   1009       "[CUSTOM_[SWARM_OUT_DIR]]/dm"
   1010     ],
   1011     "infra_step": true,
   1012     "name": "scp -r foo (a] 127.0.0.1:/home/chronos/user/dm_out [CUSTOM_[SWARM_OUT_DIR]]/dm",
   1013     "~followup_annotations": [
   1014       "@@@STEP_LOG_LINE (a] python.inline@@@@",
   1015       "@@@STEP_LOG_LINE (a] python.inline@import subprocess@@@",
   1016       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
   1017       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1] + '/*'@@@",
   1018       "@@@STEP_LOG_LINE (a] python.inline@dest   = sys.argv[2]@@@",
   1019       "@@@STEP_LOG_LINE (a] python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
   1020       "@@@STEP_LOG_END (a] python.inline@@@"
   1021     ]
   1022   },
   1023   {
   1024     "name": "$result",
   1025     "recipe_result": null,
   1026     "status_code": 0
   1027   }
   1028 ]