BazelCon 2022 is coming November 16-17 to New York and online.
Register today!


Stay organized with collections Save and categorize content based on your preferences.
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={}, exec_group='test')

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 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.