Add stardoc test for generated sources support
RELNOTES: None.
PiperOrigin-RevId: 235944538
diff --git a/WORKSPACE b/WORKSPACE
index 3b777cb..b6346ea 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -260,10 +260,10 @@
http_archive(
name = "skydoc",
- sha256 = "4db9fc4f5f69c220816c6d0b16e9956e7da2be8c85e83793661c0f4723e88d81",
- strip_prefix = "skydoc-7a08959b9d00c9ba592c1a1db145dffcf6c0b6bf",
+ sha256 = "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f",
+ strip_prefix = "skydoc-2d9566b21fbe405acf5f7bf77eda30df72a4744c",
urls = [
- "https://github.com/bazelbuild/skydoc/archive/7a08959b9d00c9ba592c1a1db145dffcf6c0b6bf.tar.gz",
+ "https://github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz",
],
)
diff --git a/src/test/java/com/google/devtools/build/skydoc/BUILD b/src/test/java/com/google/devtools/build/skydoc/BUILD
index fcae8f5..2cf576d 100644
--- a/src/test/java/com/google/devtools/build/skydoc/BUILD
+++ b/src/test/java/com/google/devtools/build/skydoc/BUILD
@@ -178,3 +178,20 @@
input_file = "testdata/macro_kwargs_test/input.bzl",
skydoc = "//src/main/java/com/google/devtools/build/skydoc",
)
+
+genrule(
+ name = "generate_bzl_test_dep",
+ srcs = ["testdata/generated_bzl_test/dep.bzl.tpl"],
+ outs = ["testdata/generated_bzl_test/dep.bzl"],
+ cmd = "cp $< $@",
+)
+
+skydoc_test(
+ name = "generated_bzl_test",
+ golden_file = "testdata/generated_bzl_test/golden.txt",
+ input_file = "testdata/generated_bzl_test/input.bzl",
+ skydoc = "//src/main/java/com/google/devtools/build/skydoc",
+ deps = [
+ "testdata/generated_bzl_test/dep.bzl",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/dep.bzl.tpl b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/dep.bzl.tpl
new file mode 100644
index 0000000..4c8bd78
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/dep.bzl.tpl
@@ -0,0 +1,4 @@
+"""Used to generate dep.bzl"""
+
+def my_rule_impl(ctx):
+ return []
diff --git a/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/golden.txt b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/golden.txt
new file mode 100644
index 0000000..0ebc9f6
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/golden.txt
@@ -0,0 +1,45 @@
+<a name="#my_rule"></a>
+## my_rule
+
+<pre>
+my_rule(<a href="#my_rule-name">name</a>, <a href="#my_rule-first">first</a>, <a href="#my_rule-second">second</a>)
+</pre>
+
+This is my rule. It does stuff.
+
+### Attributes
+
+<table class="params-table">
+ <colgroup>
+ <col class="col-param" />
+ <col class="col-description" />
+ </colgroup>
+ <tbody>
+ <tr id="my_rule-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="my_rule-first">
+ <td><code>first</code></td>
+ <td>
+ <a href="https://bazel.build/docs/build-ref.html#labels">Label</a>; required
+ <p>
+ first my_rule doc string
+ </p>
+ </td>
+ </tr>
+ <tr id="my_rule-second">
+ <td><code>second</code></td>
+ <td>
+ <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> String</a>; required
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+
diff --git a/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/input.bzl b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/input.bzl
new file mode 100644
index 0000000..bad15f6
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/skydoc/testdata/generated_bzl_test/input.bzl
@@ -0,0 +1,16 @@
+"""A direct dependency file of the input file."""
+
+load(":testdata/generated_bzl_test/dep.bzl", "my_rule_impl")
+
+my_rule = rule(
+ implementation = my_rule_impl,
+ doc = "This is my rule. It does stuff.",
+ attrs = {
+ "first": attr.label(
+ mandatory = True,
+ doc = "first my_rule doc string",
+ allow_single_file = True,
+ ),
+ "second": attr.string_dict(mandatory = True),
+ },
+)