Creates _test_absolute_java_home_with_srcs for java_runtime() in java_runtime_tests.bzl

PiperOrigin-RevId: 869144439
Change-Id: Iceebb816a7717371bf23e3f99e3c1d607254993a
diff --git a/test/java/common/rules/java_runtime_tests.bzl b/test/java/common/rules/java_runtime_tests.bzl
index 948f0c3..deaa1d4 100644
--- a/test/java/common/rules/java_runtime_tests.bzl
+++ b/test/java/common/rules/java_runtime_tests.bzl
@@ -1,6 +1,7 @@
 """Tests for the java_runtime rule"""
 
 load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite")
+load("@rules_testing//lib:truth.bzl", "matching")
 load("@rules_testing//lib:util.bzl", "util")
 load("//java/toolchains:java_runtime.bzl", "java_runtime")
 load("//test/java/testutil:java_runtime_info_subject.bzl", "java_runtime_info_subject")
@@ -32,10 +33,31 @@
         "{workspace}/{package}/foo/b",
     ])
 
+def _test_absolute_java_home_with_srcs(name):
+    util.helper_target(
+        java_runtime,
+        name = name + "/jvm",
+        srcs = ["dummy.txt"],
+        java_home = "/absolute/path",
+    )
+
+    analysis_test(
+        name = name,
+        impl = _test_absolute_java_home_with_srcs_impl,
+        target = name + "/jvm",
+        expect_failure = True,
+    )
+
+def _test_absolute_java_home_with_srcs_impl(env, target):
+    env.expect.that_target(target).failures().contains_predicate(
+        matching.str_matches("'java_home' with an absolute path requires 'srcs' to be empty."),
+    )
+
 def java_runtime_tests(name):
     test_suite(
         name = name,
         tests = [
             _test_java_runtime_simple,
+            _test_absolute_java_home_with_srcs,
         ],
     )