> ## Documentation Index
> Fetch the complete documentation index at: https://bazel-pr-29840.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# testing

Helper methods for Starlark to access testing infrastructure.

## Members

* [analysis\_test](#analysis_test)
* [ExecutionInfo](#ExecutionInfo)
* [TestEnvironment](#TestEnvironment)

## analysis\_test

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

### Parameters

| Parameter        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`           | [string](../core/string); required  Name of the target. It should be a Starlark identifier, matching pattern '\[A-Za-z\_]\[A-Za-z0-9\_]\*'.                                                                                                                                                                                                                                                                                                                                    |
| `implementation` | [function](../core/function); required  The Starlark function implementing this analysis test. It must have exactly one parameter: [ctx](../builtins/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](../providers/AnalysisTestResultInfo). |
| `attrs`          | [dict](../core/dict); default is `{}`  Dictionary declaring the attributes. See the [rule](../globals/bzl#rule) call. Attributes are allowed to use configuration transitions defined using [analysis\_test\_transition](../globals/bzl#analysis_test_transition).                                                                                                                                                                                                             |
| `fragments`      | [sequence](../core/list) of [string](../core/string)s; default is `[]`  List of configuration fragments that are available to the implementation of the analysis test.                                                                                                                                                                                                                                                                                                         |
| `toolchains`     | [sequence](../core/list); default is `[]`  The set of toolchains the test requires. See the [rule](../globals/bzl#rule) call.                                                                                                                                                                                                                                                                                                                                                  |
| `attr_values`    | [dict](../core/dict) of [string](../core/string)s; default is `{}`  Dictionary of attribute values to pass to the implementation.                                                                                                                                                                                                                                                                                                                                              |

## ExecutionInfo

```
ExecutionInfo testing.ExecutionInfo
```

[testing.ExecutionInfo](../providers/ExecutionInfo) provider key/constructor

## TestEnvironment

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

### Parameters

| Parameter               | Description                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `environment`           | [dict](../core/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](../core/list) of [string](../core/string)s; 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. |
