Creates _test_make_variables for java_runtime() in toolchains/java_runtime_tests.bzl PiperOrigin-RevId: 871826344 Change-Id: I787659e6082a48e0e7a7003e1ae47bc66fd3fa83
diff --git a/MODULE.bazel b/MODULE.bazel index 47354f6..de8fe11 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -131,9 +131,9 @@ bazel_dep(name = "rules_testing", dev_dependency = True) archive_override( module_name = "rules_testing", - integrity = "sha256-0+3pLjeZCqn+K1qS7HNr7HbwMXBjxLvJm+pMSUhDel8=", - strip_prefix = "rules_testing-db007bfee840cebcb6f955b80973ba866de38947", - urls = ["https://github.com/bazelbuild/rules_testing/archive/db007bfee840cebcb6f955b80973ba866de38947.tar.gz"], + integrity = "sha256-TqwTCQnzt/hRKQtdJ7d8ebtZ8+I8IMgmWiEjOKvo6mI=", + strip_prefix = "rules_testing-f8e869d452507fa4a59748c9d69cfab63ec9385a", + urls = ["https://github.com/bazelbuild/rules_testing/archive/f8e869d452507fa4a59748c9d69cfab63ec9385a.tar.gz"], ) test_repositories = use_extension("//test:repositories.bzl", "test_repositories_ext", dev_dependency = True)
diff --git a/test/java/toolchains/java_runtime_tests.bzl b/test/java/toolchains/java_runtime_tests.bzl index a32c3a9..a186514 100644 --- a/test/java/toolchains/java_runtime_tests.bzl +++ b/test/java/toolchains/java_runtime_tests.bzl
@@ -1,7 +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:truth.bzl", "matching", "subjects") load("@rules_testing//lib:util.bzl", "util") load("//java/common:java_semantics.bzl", "semantics") load("//java/toolchains:java_runtime.bzl", "java_runtime") @@ -289,6 +289,27 @@ matching.str_matches("$(WTF) not defined"), ) +def _test_make_variables(name): + util.helper_target( + java_runtime, + name = name + "/jvm", + java_home = "/foo/bar", + ) + + analysis_test( + name = name, + impl = _test_make_variables_impl, + target = name + "/jvm", + ) + +def _test_make_variables_impl(env, target): + env.expect.that_target(target).provider( + platform_common.TemplateVariableInfo, + ).variables().contains_at_least({"JAVABASE": "/foo/bar"}) + env.expect.that_target(target).provider( + platform_common.TemplateVariableInfo, + ).variables().get("JAVA", factory = subjects.str).starts_with("/foo/bar/bin/java") + def java_runtime_tests(name): test_suite( name = name, @@ -304,5 +325,6 @@ _test_absolute_java_home, _test_relative_java_home, _test_java_home_with_invalid_make_variables, + _test_make_variables, ], )