Extensions > API reference > testing


Helper methods for Starlark to access testing infrastructure.


None testing.analysis_test(name, implementation, attrs=None, fragments=[], toolchains=[], attr_values={})

Experimental. This API is experimental and may change at any time. Please do not depend on it. It may be enabled on an experimental basis by setting --+experimental_analysis_test_call
Creates a new analysis test target.

The number of transitive dependencies of the test are limited. The limit is controlled by --analysis_testing_deps_limit flag.


Parameter Description
name required
Name of the target. It should be a Starlark identifier, matching pattern '[A-Za-z_][A-Za-z0-9_]*'.
implementation required
The Starlark function implementing this analysis test. It must have exactly one parameter: ctx. The function is called during the analysis phase. It can access the attributes declared by attrs and populated via attr_values. The implementation function may not register actions. Instead, it must register a pass/fail result via providing AnalysisTestResultInfo.
attrs dict; or None; default = None
Dictionary declaring the attributes. See the rule call.Attributes are allowed to use configuration transitions defined using analysis_test_transition.
fragments sequence of strings; default = []
List of configuration fragments that are available to the implementation of the analysis test.
toolchains sequence; default = []
The set of toolchains the test requires. See the rule call.
attr_values dict of strings; default = {}
Dictionary of attribute values to pass to the implementation.


ExecutionInfo testing.ExecutionInfo(requirements)

Creates a new execution info provider. Use this provider to specify specialenvironments requirements needed to run tests.


Parameter Description
requirements required
A map of string keys and values to indicate special execution requirements, such as hardware platforms, etc. These keys and values are passed to the executor of the test action as parameters to configure the execution environment.


RunEnvironmentInfo testing.TestEnvironment(environment, inherited_environment=[])

Deprecated: Use RunEnvironmentInfo instead. Creates a new test environment provider. Use this provider to specify extra environment variables to be made available during test execution.


Parameter Description
environment required
A map of string keys and values that represent environment variables and their values. These will be made available during the test execution.
inherited_environment sequence of strings; default = []
A sequence of names of environment variables. These variables are made available during the test execution with their current value taken from the shell environment. If a variable is contained in both environment and inherited_environment, the value inherited from the shell environment will take precedence if set.