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