Have skydoc-binary test suites use stardoc.bzl directly

RELNOTES: None.
PiperOrigin-RevId: 210419838
diff --git a/WORKSPACE b/WORKSPACE
index c134247..d52b311 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -199,3 +199,12 @@
     sha256 = "3528fc6012a78da6291c00854373ea43f7f8b6c4046320be5f0884f5b3385b14",
     strip_prefix = "bazel-skylib-7490380c6bbf9a5a060df78dc2222e7de6ffae5c"
 )
+
+http_archive(
+    name = "skydoc",
+    urls = [
+        "https://github.com/bazelbuild/skydoc/archive/d34c44c3f4102eb94beaf2636c6cf532f0ec1ee8.tar.gz",
+    ],
+    sha256 = "cfbfcc107f5c9853dc5b2b81f1fe90fc326bd1c61f76c9aac2b4201dff75b91d",
+    strip_prefix = "skydoc-d34c44c3f4102eb94beaf2636c6cf532f0ec1ee8"
+)
diff --git a/src/test/java/com/google/devtools/build/skydoc/skydoc_e2e_test_runner.sh b/src/test/java/com/google/devtools/build/skydoc/diff_test_runner.sh
similarity index 73%
rename from src/test/java/com/google/devtools/build/skydoc/skydoc_e2e_test_runner.sh
rename to src/test/java/com/google/devtools/build/skydoc/diff_test_runner.sh
index ac40e9a..0f4fa47 100755
--- a/src/test/java/com/google/devtools/build/skydoc/skydoc_e2e_test_runner.sh
+++ b/src/test/java/com/google/devtools/build/skydoc/diff_test_runner.sh
@@ -14,30 +14,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Test skydoc output matches the expected golden file output.
+# A shell test that the contents of an input file match a golden file.
+#
+# Usage: diff_test_runner.sh ACTUAL_FILE GOLDEN_FILE
 
 set -u
 
-skydoc_bin=$1
-shift 1
-input_file=$1
+actual_file=$1
 shift 1
 golden_file=$1
 shift 1
 
-actual_file="${TEST_TMPDIR}/actual"
-
-set -e
-${skydoc_bin} ${input_file} ${actual_file} $@
-set +e
-
 DIFF="$(diff ${actual_file} ${golden_file})"
 
 if [ "$DIFF" != "" ]
 then
-    echo "Actual did not match golden."
+    echo "FAIL: Actual did not match golden."
     echo "${DIFF}"
     exit 1
 else
-    echo "Result matches golden file"
+    echo "SUCCESS: Result matches golden file"
 fi
diff --git a/src/test/java/com/google/devtools/build/skydoc/skydoc_test.bzl b/src/test/java/com/google/devtools/build/skydoc/skydoc_test.bzl
index b2d657e..5010895 100644
--- a/src/test/java/com/google/devtools/build/skydoc/skydoc_test.bzl
+++ b/src/test/java/com/google/devtools/build/skydoc/skydoc_test.bzl
@@ -20,6 +20,9 @@
 #    the golden file if changes are made to skydoc.
 """Convenience macro for skydoc tests."""
 
+load("@bazel_skylib//:skylark_library.bzl", "skylark_library")
+load("@skydoc//skylark:stardoc.bzl", "stardoc")
+
 def skydoc_test(name, input_file, golden_file, skydoc, deps = [], whitelisted_symbols = []):
     """Creates a test target and golden-file regeneration target for skydoc testing.
 
@@ -38,7 +41,7 @@
           to generate documentation for. If empty, documentation for all top-level symbols
           will be generated.
     """
-    output_golden_file = "%s_output.txt" % name
+    actual_generated_doc = "%s_output.txt" % name
 
     # Skydoc requires an absolute input file label to both load the target file and
     # track what its target is for the purpose of resolving relative labels.
@@ -46,28 +49,28 @@
 
     native.sh_test(
         name = "%s_e2e_test" % name,
-        srcs = ["skydoc_e2e_test_runner.sh"],
+        srcs = ["diff_test_runner.sh"],
         args = [
-            "$(location %s)" % skydoc,
-            abs_input_file_label,
+            "$(location %s)" % actual_generated_doc,
             "$(location %s)" % golden_file,
-        ] + whitelisted_symbols,
+        ],
         data = [
-            input_file,
+            actual_generated_doc,
             golden_file,
-            skydoc,
-        ] + deps,
+        ],
     )
 
-    native.genrule(
+    skylark_library(
+        name = "%s_lib" % name,
+        srcs = [input_file],
+        deps = deps,
+    )
+
+    stardoc(
         name = "regenerate_%s_golden" % name,
-        srcs = [
-            input_file,
-        ] + deps,
-        outs = [output_golden_file],
-        heuristic_label_expansion = 0,
-        cmd = "$(location %s) " % skydoc +
-              "%s $(location %s) " % (abs_input_file_label, output_golden_file) +
-              " ".join(whitelisted_symbols),
-        tools = [skydoc],
+        out = actual_generated_doc,
+        input = input_file,
+        symbol_names = whitelisted_symbols,
+        deps = ["%s_lib" % name],
+        stardoc = skydoc,
     )