Add test that `java_binary` has no launcher dep if `create_executable = False`

(ignore-relnotes)

PiperOrigin-RevId: 925182502
Change-Id: I134f0b495815f30d6161320d108180c0a5894463
diff --git a/test/java/common/rules/java_binary_tests.bzl b/test/java/common/rules/java_binary_tests.bzl
index b483516..d4699fa 100644
--- a/test/java/common/rules/java_binary_tests.bzl
+++ b/test/java/common/rules/java_binary_tests.bzl
@@ -405,6 +405,29 @@
     action_mnemonics = [a.mnemonic for a in env.expect.that_target(target).actual.actions]
     env.expect.that_collection(action_mnemonics).not_contains("JavaOneVersion")
 
+def _test_java_binary_no_launcher_dep_if_not_executable(name):
+    util.helper_target(
+        java_binary,
+        name = name + "/bin",
+        srcs = ["bin.java"],
+        create_executable = False,
+    )
+    util.helper_target(
+        cc_binary,
+        name = name + "/broken",
+        srcs = ["launcher.cc"],
+        deps = [":doesnotexist"],
+    )
+
+    analysis_test(
+        name = name,
+        impl = lambda *args, **kwargs: None,  # no error: good
+        target = name + "/bin",
+        config_settings = {
+            "//command_line_option:java_launcher": Label(name + "/broken"),
+        },
+    )
+
 def java_binary_tests(name):
     test_suite(
         name = name,
@@ -418,5 +441,6 @@
             _test_one_version_check_action,
             _test_one_version_check_violations_allowed,
             _test_one_version_check_disabled,
+            _test_java_binary_no_launcher_dep_if_not_executable,
         ],
     )