49 lines
1.7 KiB
Markdown
Executable File
49 lines
1.7 KiB
Markdown
Executable File
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
|
|
|
|
A test verifying other targets can be successfully analyzed as part of a `bazel test`
|
|
|
|
<a id="analysis_test"></a>
|
|
|
|
## analysis_test
|
|
|
|
<pre>
|
|
analysis_test(<a href="#analysis_test-name">name</a>, <a href="#analysis_test-targets">targets</a>)
|
|
</pre>
|
|
|
|
Test rule checking that other targets can be successfully analyzed.
|
|
|
|
This rule essentially verifies that all targets under `targets` would
|
|
generate no errors when analyzed with `bazel build [targets] --nobuild`.
|
|
Action success/failure for the targets and their transitive dependencies
|
|
are not verified. An analysis test simply ensures that each target in the transitive
|
|
dependencies propagate providers appropriately and register actions for their outputs
|
|
appropriately.
|
|
|
|
NOTE: If the targets fail to analyze, instead of the analysis_test failing, the analysis_test
|
|
will fail to build. Ideally, it would instead result in a test failure. This is a current
|
|
infrastructure limitation that may be fixed in the future.
|
|
|
|
Typical usage:
|
|
|
|
load("@bazel_skylib//rules:analysis_test.bzl", "analysis_test")
|
|
analysis_test(
|
|
name = "my_analysis_test",
|
|
targets = [
|
|
"//some/package:rule",
|
|
],
|
|
)
|
|
|
|
Args:
|
|
name: The name of the test rule.
|
|
targets: A list of targets to ensure build.
|
|
|
|
**ATTRIBUTES**
|
|
|
|
|
|
| Name | Description | Type | Mandatory | Default |
|
|
| :------------- | :------------- | :------------- | :------------- | :------------- |
|
|
| <a id="analysis_test-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
|
|
| <a id="analysis_test-targets"></a>targets | - | <a href="https://bazel.build/concepts/labels">List of labels</a> | required | |
|
|
|
|
|