There have been many recent instances where ASAN tasks running on Pixel devices have failed to push resources to the device due to "secure_mkdirs failed: No such file or directory." The theory is that because the "Setting up device to run ASAN" step reboots the device, the device isn't actually ready at the time it reports being ready. This CL adds a sleep to the ASAN setup to work around this problem. Here are recent examples of this failure: https://chromium-swarm.appspot.com/task?id=4279aeb78961de10 https://chromium-swarm.appspot.com/task?id=42765d9f44ca4610 https://chromium-swarm.appspot.com/task?id=427a66499846e910 https://chromium-swarm.appspot.com/task?id=4276d85a8f270d10 https://chromium-swarm.appspot.com/task?id=42765cb3ff062a10 Change-Id: Iddf78622de3cd88ea28a532380762baafe479eb7 Reviewed-on: https://skia-review.googlesource.com/c/185320 Auto-Submit: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com> |
||
---|---|---|
.. | ||
android_compile.expected | ||
bookmaker.expected | ||
calmbench.expected | ||
check_generated_files.expected | ||
compile.expected | ||
compute_buildstats.expected | ||
compute_test.expected | ||
housekeeper.expected | ||
infra.expected | ||
perf_canvaskit.expected | ||
perf_pathkit.expected | ||
perf.expected | ||
recreate_skps.expected | ||
skpbench.expected | ||
skqp_test.expected | ||
test_canvaskit.expected | ||
test_lottie_web.expected | ||
test_pathkit.expected | ||
test_skqp_emulator.expected | ||
test.expected | ||
update_go_deps.expected | ||
upload_buildstats_results.expected | ||
upload_calmbench_results.expected | ||
upload_dm_results.expected | ||
upload_nano_results.expected | ||
upload_skiaserve.expected | ||
android_compile.py | ||
bookmaker.py | ||
calmbench.py | ||
check_generated_files.py | ||
compile.py | ||
compute_buildstats.py | ||
compute_test.py | ||
housekeeper.py | ||
infra.py | ||
perf_canvaskit.py | ||
perf_pathkit.py | ||
perf.py | ||
README.md | ||
recreate_skps.py | ||
skpbench.py | ||
skqp_test.py | ||
test_canvaskit.py | ||
test_lottie_web.py | ||
test_pathkit.py | ||
test_skqp_emulator.py | ||
test.py | ||
update_go_deps.py | ||
upload_buildstats_results.py | ||
upload_calmbench_results.py | ||
upload_dm_results.py | ||
upload_nano_results.py | ||
upload_skiaserve.py |
Skia Recipes
These are the top-level scripts which run inside of Swarming tasks to perform all of Skia's automated testing.
To run a recipe locally:
$ python infra/bots/recipes.py run --workdir=/tmp/<workdir> <recipe name without .py> key1=value1 key2=value2 ...
Each recipe may have its own required properties which must be entered as key/value pairs in the command.
When you change a recipe, you generally need to re-train the simulation test:
$ python infra/bots/recipes.py test train
Or:
$ cd infra/bots; make train
The test generates expectations files for the tests contained within each recipe which illustrate which steps would run, given a particular set of inputs. Pay attention to the diffs in these files when making changes to ensure that your change has the intended effect.