Implement java_test tests checking for compile time deps on the test runner.

Updates rules_testing to include https://github.com/bazelbuild/rules_testing/commit/04a1219

PiperOrigin-RevId: 882013418
Change-Id: I077f6e957968e1b343765364866f24cae0cd3ad6
diff --git a/MODULE.bazel b/MODULE.bazel
index e98ca3d..769902b 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -124,9 +124,9 @@
 bazel_dep(name = "rules_testing", dev_dependency = True)
 archive_override(
     module_name = "rules_testing",
-    integrity = "sha256-d/94Ix5IoGXk9rP1HjYKxPMH8ccwX5b1Qxs8BKg4WRg=",
-    strip_prefix = "rules_testing-ac97ba507116056cd489161b5e99dd8014685adc",
-    urls = ["https://github.com/bazelbuild/rules_testing/archive/ac97ba507116056cd489161b5e99dd8014685adc.tar.gz"],
+    integrity = "sha256-WYc72jM8jNK3m45vjWlmN6NB+95f6HAHnTkRaSaNisE=",
+    strip_prefix = "rules_testing-04a1219ee516ccdf3ffadfe3b28e5c634c9b90e1",
+    urls = ["https://github.com/bazelbuild/rules_testing/archive/04a1219ee516ccdf3ffadfe3b28e5c634c9b90e1.tar.gz"],
 )
 
 test_repositories = use_extension("//test:repositories.bzl", "test_repositories_ext", dev_dependency = True)
diff --git a/test/java/common/rules/java_test_tests.bzl b/test/java/common/rules/java_test_tests.bzl
index 13362dc..5c2001c 100644
--- a/test/java/common/rules/java_test_tests.bzl
+++ b/test/java/common/rules/java_test_tests.bzl
@@ -8,6 +8,8 @@
 load("@rules_testing//lib:util.bzl", "util")
 load("//java:java_library.bzl", "java_library")
 load("//java:java_test.bzl", "java_test")
+load("//java/common:java_info.bzl", "JavaInfo")
+load("//java/common:java_semantics.bzl", "semantics")
 load("//test/java/testutil:helper.bzl", "always_passes")
 load("//test/java/testutil:rules/custom_java_info_rule.bzl", "custom_java_info_rule")
 
@@ -228,6 +230,43 @@
     env.expect.that_target(targets.defaultstamp).attr("stamp", factory = subjects.int).equals(0)
     env.expect.that_target(targets.autostamp).attr("stamp", factory = subjects.int).equals(-1)
 
+def _test_add_test_support_to_compile_time_deps_flag(name):
+    if not bazel_features.rules.analysis_tests_can_transition_on_experimental_incompatible_flags:
+        always_passes(name)
+        return
+    util.helper_target(
+        rule = java_test,
+        name = name + "/test",
+        srcs = [name + "/Test.java"],
+    )
+
+    analysis_test(
+        name = name,
+        targets = {
+            "add_support": name + "/test",
+            "no_add_support": name + "/test",
+        },
+        attrs = {
+            "test_runner": attr.label(default = semantics.JAVA_TEST_RUNNER_LABEL),
+            "add_support": {
+                "@config_settings": {
+                    "//command_line_option:experimental_add_test_support_to_compile_time_deps": True,
+                },
+            },
+            "no_add_support": {
+                "@config_settings": {
+                    "//command_line_option:experimental_add_test_support_to_compile_time_deps": False,
+                },
+            },
+        },
+        impl = _test_add_test_support_to_compile_time_deps_flag_impl,
+    )
+
+def _test_add_test_support_to_compile_time_deps_flag_impl(env, targets):
+    compile_jars = env.ctx.attr.test_runner[JavaInfo].compile_jars
+    env.expect.that_target(targets.add_support).action_named("Javac").inputs().contains_at_least(compile_jars.to_list())
+    env.expect.that_target(targets.no_add_support).action_named("Javac").inputs().contains_none_of(compile_jars.to_list())
+
 def java_test_tests(name):
     test_suite(
         name = name,
@@ -238,5 +277,6 @@
             _test_java_test_propagates_direct_native_libraries,
             _test_coverage_uses_coverage_runner_for_main,
             _test_stamp_values,
+            _test_add_test_support_to_compile_time_deps_flag,
         ],
     )