Migrate cc_shared_library tests to rules_testing

This change migrates the first few tests, the rest will be done in follow up
changes.

RELNOTES:none
PiperOrigin-RevId: 527235966
Change-Id: Ie34eb4f3bf7e6766aa226c5bfc2a3c2a758065b9
diff --git a/distdir_deps.bzl b/distdir_deps.bzl
index 1133dc3..89c0a1a 100644
--- a/distdir_deps.bzl
+++ b/distdir_deps.bzl
@@ -365,7 +365,10 @@
     "rules_testing": {
         "sha256": "4e21f9aa7996944ce91431f27bca374bff56e680acfe497276074d56bc5d9af2",
         "strip_prefix": "rules_testing-0.0.4",
-        "urls": ["https://github.com/bazelbuild/rules_testing/releases/download/v0.0.4/rules_testing-v0.0.4.tar.gz"],
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_testing/releases/download/v0.0.4/rules_testing-v0.0.4.tar.gz",
+            "https://github.com/bazelbuild/rules_testing/releases/download/v0.0.4/rules_testing-v0.0.4.tar.gz",
+        ],
         "archive": "rules_testing-v0.0.4.tar.gz",
         "used_in": ["additional_distfiles", "test_WORKSPACE_files"],
         "package_version": "0.0.4",
diff --git a/src/main/starlark/tests/builtins_bzl/BUILD b/src/main/starlark/tests/builtins_bzl/BUILD
index f5a6115..804dc11 100644
--- a/src/main/starlark/tests/builtins_bzl/BUILD
+++ b/src/main/starlark/tests/builtins_bzl/BUILD
@@ -22,6 +22,9 @@
         ":cc_builtin_test_files",
         "//src/test/shell/bazel:test-deps",
         "@bazel_tools//tools/bash/runfiles",
+        "@rules_testing//lib:analysis_test_bzl",
+        "@rules_testing//lib:truth_bzl",
+        "@rules_testing//lib:util_bzl",
     ],
 )
 
diff --git a/src/main/starlark/tests/builtins_bzl/builtin_test_setup.sh b/src/main/starlark/tests/builtins_bzl/builtin_test_setup.sh
index d1daa52..f3cbbff 100644
--- a/src/main/starlark/tests/builtins_bzl/builtin_test_setup.sh
+++ b/src/main/starlark/tests/builtins_bzl/builtin_test_setup.sh
@@ -19,6 +19,7 @@
 # implementation can rely on release Bazel, we can add the tests directly.
 
 function setup_tests() {
+  add_rules_testing_to_workspace "WORKSPACE"
   setup_skylib_support
   src=$(get_runfiles_dir $1)
   dest="${2:-$1}"
@@ -44,4 +45,4 @@
   elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
       echo $(grep -m1 "io_bazel/$1" "${RUNFILES_MANIFEST_FILE}" | cut -d' ' -f2 | sed "s|$1.*|$1|")
   fi
-}
\ No newline at end of file
+}
diff --git a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
index 489581a..f08f91b 100644
--- a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
+++ b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/BUILD.builtin_test
@@ -12,6 +12,7 @@
     "nocode_cc_lib",
     "wrapped_cc_lib",
 )
+load("@rules_testing//lib:analysis_test.bzl", "analysis_test")
 
 LINKABLE_MORE_THAN_ONCE = "LINKABLE_MORE_THAN_ONCE"
 
@@ -456,9 +457,10 @@
     target_under_test = "//src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/failing_targets:two_dynamic_deps_same_export_in_binary",
 )
 
-debug_files_test(
+analysis_test(
     name = "debug_files_test",
-    target_under_test = ":binary",
+    impl = debug_files_test,
+    target = ":binary",
 )
 
 interface_library_output_group_test(
diff --git a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl
index 8cac580..d7b2347 100644
--- a/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl
+++ b/src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl
@@ -155,14 +155,7 @@
 
 paths_test = unittest.make(_paths_test_impl)
 
-def _debug_files_test_impl(ctx):
-    env = analysistest.begin(ctx)
-
-    target_under_test = analysistest.target_under_test(env)
-    actual_files = []
-    for debug_file in target_under_test[OutputGroupInfo].rule_impl_debug_files.to_list():
-        actual_files.append(debug_file.basename)
-
+def _debug_files_test_impl(env, target):
     expected_files = [
         "bar_so_exports.txt",
         "bar_so_link_once_static_libs.txt",
@@ -172,11 +165,14 @@
         "foo_so_link_once_static_libs.txt",
         "binary_link_once_static_libs.txt",
     ]
-    asserts.equals(env, expected_files, actual_files)
 
-    return analysistest.end(env)
+    actual_files = []
+    for debug_file in target[OutputGroupInfo].rule_impl_debug_files.to_list():
+        actual_files.append(debug_file.basename)
 
-debug_files_test = analysistest.make(_debug_files_test_impl)
+    env.expect.that_collection(expected_files).contains_exactly(actual_files)
+
+debug_files_test = _debug_files_test_impl
 
 def _runfiles_test_impl(ctx):
     env = analysistest.begin(ctx)
diff --git a/src/test/shell/testenv.sh.tmpl b/src/test/shell/testenv.sh.tmpl
index 3cb2072..2140a19 100755
--- a/src/test/shell/testenv.sh.tmpl
+++ b/src/test/shell/testenv.sh.tmpl
@@ -333,6 +333,7 @@
         "rules_proto"
         "rules_python"
         "rules_pkg"
+        "rules_testing"
     )
     for repo in "${repos[@]}"; do
       reponame="${repo%"_for_testing"}"
@@ -512,6 +513,8 @@
 }
 
 function setup_skylib_support() {
+  mkdir -p rules/private
+  touch rules/private/BUILD
   cat >> WORKSPACE << EOF
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
@@ -571,6 +574,8 @@
 }
 
 function add_rules_testing_to_workspace() {
+  mkdir lib
+  touch lib/BUILD
   cat >> "$1"<<EOF
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")