1*c8dee2aaSAndroid Build Coastguard WorkerSkia Recipes 2*c8dee2aaSAndroid Build Coastguard Worker============ 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard WorkerThese are the top-level scripts which run inside of Swarming tasks to perform 5*c8dee2aaSAndroid Build Coastguard Workerall of Skia's automated testing. 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard WorkerTo run a recipe locally: 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker $ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ... 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard WorkerEach recipe may have its own required properties which must be entered as 12*c8dee2aaSAndroid Build Coastguard Workerkey/value pairs in the command. 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard WorkerWhen you change a recipe, you generally need to re-train the simulation test: 15*c8dee2aaSAndroid Build Coastguard Worker 16*c8dee2aaSAndroid Build Coastguard Worker $ python infra/bots/recipes.py test train 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard WorkerOr: 19*c8dee2aaSAndroid Build Coastguard Worker 20*c8dee2aaSAndroid Build Coastguard Worker $ cd infra/bots; make train 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard WorkerThe test generates expectations files for the tests contained within each 23*c8dee2aaSAndroid Build Coastguard Workerrecipe which illustrate which steps would run, given a particular set of inputs. 24*c8dee2aaSAndroid Build Coastguard WorkerPay attention to the diffs in these files when making changes to ensure that 25*c8dee2aaSAndroid Build Coastguard Workeryour change has the intended effect. 26