d836f84ab8
Golden SkSL outputs are intended to eventually replace the majority of our unit tests, since they can automatically update themselves when we change implementation details of the compiler. If you change the compiler output without updating the Golden files, the CheckGeneratedFiles housekeeper will be triggered. Set `skia_compile_processors` or `skia_compile_sksl_tests` to true in your GN args to regenerate them. Almost all of the tests from SkSLFPTests.cpp and SkSLGLSLTests.cpp can be migrated into separate unit-test .fp/.sksl files in a followup CL. hcm@ has signed off on removing the copyright boilerplate preamble from our unit test files. Change-Id: I9e24a944bbac8f8efd62c92481b022a0b1ecdd0b Bug: skia:10694 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316336 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> |
||
---|---|---|
.. | ||
build | ||
builder_name_schema | ||
checkout | ||
docker | ||
doxygen | ||
env | ||
flavor | ||
git | ||
gsutil | ||
infra | ||
run | ||
vars | ||
README.md |
Skia Recipe Modules
This directory contains recipe modules designed to be used by recipes (see infra/bots/recipes). They are all Skia-specific and some are interrelated:
- builder_name_schema - Helps to derive expected behavior from task (formerly builder) names.
- core - Use as a starting point for most recipes: runs setup and sync steps.
- ct - Shared Cluster Telemetry utilities.
- flavor - Allows the caller to specify a high-level command to run, leaving the platform-specific details to be handled by the specific flavor module.
- infra - Shared infrastructure-related utilities.
- run - Utilities for running commands.
- swarming - Utilities for running Swarming tasks.
- vars - Common global variables used by Skia recipes/modules.
When you change a recipe module, you generally need to re-train the simulation test:
$ python infra/bots/infra_tests.py --train
Or:
$ cd infra/bots; make train
Each recipe module contains a few files:
- api.py - This is the meat of the module.
- __init__.py - Contains a single DEPS variable, indicating the other recipe modules on which this module depends.
- example.py - Optional, this file contains examples which demonstrate how to use the module and should contain enough tests to achieve 100% coverage for the module. The tests are run using the recipes test command above.