aboutsummaryrefslogtreecommitdiff
path: root/docs/analysis_test_doc.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/analysis_test_doc.md')
-rwxr-xr-xdocs/analysis_test_doc.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/docs/analysis_test_doc.md b/docs/analysis_test_doc.md
new file mode 100755
index 0000000..817be66
--- /dev/null
+++ b/docs/analysis_test_doc.md
@@ -0,0 +1,61 @@
+<a name="#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
+
+<table class="params-table">
+ <colgroup>
+ <col class="col-param" />
+ <col class="col-description" />
+ </colgroup>
+ <tbody>
+ <tr id="analysis_test-name">
+ <td><code>name</code></td>
+ <td>
+ <a href="https://bazel.build/docs/build-ref.html#name">Name</a>; required
+ <p>
+ A unique name for this target.
+ </p>
+ </td>
+ </tr>
+ <tr id="analysis_test-targets">
+ <td><code>targets</code></td>
+ <td>
+ <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a>; required
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+