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,
         ],
     )
