Migrate the `javaTestSetsSecurityManagerPropertyOnVersion17` to Starlark The test is added to rules_java and removed from Bazel (ignore-relnotes) PiperOrigin-RevId: 903721335 Change-Id: I8cd6b6c86bb32304f63cc1f21fae16f20319eefd
diff --git a/test/java/common/rules/java_test_tests.bzl b/test/java/common/rules/java_test_tests.bzl index f1c4466..d4bd4b0 100644 --- a/test/java/common/rules/java_test_tests.bzl +++ b/test/java/common/rules/java_test_tests.bzl
@@ -12,6 +12,7 @@ load("//java/common:java_semantics.bzl", "semantics") load("//test/java/testutil:helper.bzl", "always_passes") load("//test/java/testutil:mock_cc_toolchain.bzl", "mock_cc_toolchain") +load("//test/java/testutil:mock_java_toolchain.bzl", "mock_java_runtime_toolchain") load("//test/java/testutil:mock_test_toolchain.bzl", "mock_test_toolchains") load("//test/java/testutil:rules/custom_java_info_rule.bzl", "custom_java_info_rule") @@ -315,6 +316,42 @@ {"requires-darwin": ""}, ) +def _test_java_test_sets_securiry_manager_property_jdk17(name): + util.helper_target( + java_test, + name = name + "/test", + srcs = ["FooTest.java"], + test_class = "FooTest", + ) + util.helper_target( + mock_java_runtime_toolchain, + name = name + "/toolchain", + version = 17, + ) + + analysis_test( + name = name, + impl = _test_java_test_sets_securiry_manager_property_jdk17_impl, + target = name + "/test", + config_settings = { + "//command_line_option:extra_toolchains": [Label(name + "/toolchain")], + }, + ) + +def _test_java_test_sets_securiry_manager_property_jdk17_impl(env, target): + executable = env.expect.that_target(target).executable().actual.short_path + assert_action = env.expect.that_target(target).action_generating(executable) + if assert_action.actual.substitutions: + # TemplateExpansion action on linux/mac + assert_action.substitutions().get("%jvm_flags%", factory = subjects.str).contains( + "-Djava.security.manager=allow", + ) + else: + # windows + assert_action.argv().contains_predicate( + matching.str_matches("-Djava.security.manager=allow"), + ) + def java_test_tests(name): test_suite( name = name, @@ -327,5 +364,6 @@ _test_stamp_values, _test_add_test_support_to_compile_time_deps_flag, _test_mac_requires_darwin_for_execution, + _test_java_test_sets_securiry_manager_property_jdk17, ], )
diff --git a/test/java/testutil/mock_java_toolchain.bzl b/test/java/testutil/mock_java_toolchain.bzl index c0ca631..de824b1 100644 --- a/test/java/testutil/mock_java_toolchain.bzl +++ b/test/java/testutil/mock_java_toolchain.bzl
@@ -46,12 +46,14 @@ srcs = [], java_home = None, java = None, + version = None, **kwargs): _java_runtime_rule( name = name + "_runtime", srcs = srcs, java_home = java_home, java = java, + version = version, **kwargs ) native.toolchain(