Report an issue View source Nightly · 7.2 · 7.1 · 7.0 · 6.5 · 6.4

Helper methods for Starlark to access testing infrastructure.



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

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 string; required
Name of the target. It should be a Starlark identifier, matching pattern '[A-Za-z_][A-Za-z0-9_]*'.
implementation function; 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; default is {}
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 is []
List of configuration fragments that are available to the implementation of the analysis test.
toolchains sequence; default is []
The set of toolchains the test requires. See the rule call.
attr_values dict of strings; default is {}
Dictionary of attribute values to pass to the implementation.


ExecutionInfo testing.ExecutionInfo

testing.ExecutionInfo provider key/constructor


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 dict; 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 is []
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.