Creates a first simple test for java_runtime() in java_runtime_tests.bzl PiperOrigin-RevId: 869124095 Change-Id: Ia9753cdd40d6547dab01a726a30f2fb7459a0b10
diff --git a/test/java/common/rules/BUILD b/test/java/common/rules/BUILD index 2311a3f..8a00159 100644 --- a/test/java/common/rules/BUILD +++ b/test/java/common/rules/BUILD
@@ -2,6 +2,7 @@ load(":java_import_tests.bzl", "java_import_tests") load(":java_library_tests.bzl", "java_library_tests") load(":java_plugin_tests.bzl", "java_plugin_tests") +load(":java_runtime_tests.bzl", "java_runtime_tests") load(":java_test_tests.bzl", "java_test_tests") load(":merge_attrs_tests.bzl", "merge_attrs_test_suite") @@ -17,4 +18,6 @@ java_import_tests(name = "java_import_tests") +java_runtime_tests(name = "java_runtime_tests") + java_test_tests(name = "java_test_tests")
diff --git a/test/java/common/rules/java_runtime_tests.bzl b/test/java/common/rules/java_runtime_tests.bzl new file mode 100644 index 0000000..948f0c3 --- /dev/null +++ b/test/java/common/rules/java_runtime_tests.bzl
@@ -0,0 +1,41 @@ +"""Tests for the java_runtime rule""" + +load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite") +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") + +def _test_java_runtime_simple(name): + util.helper_target( + java_runtime, + name = name + "/jvm-foo", + srcs = [ + "foo/a", + "foo/b", + ], + java_home = "foo", + ) + + analysis_test( + name = name, + impl = _test_java_runtime_simple_impl, + target = name + "/jvm-foo", + ) + +def _test_java_runtime_simple_impl(env, target): + java_runtime_info_subject.from_target(env, target).files().contains_exactly([ + "{package}/foo/a", + "{package}/foo/b", + ]) + env.expect.that_target(target).data_runfiles().contains_exactly([ + "{workspace}/{package}/foo/a", + "{workspace}/{package}/foo/b", + ]) + +def java_runtime_tests(name): + test_suite( + name = name, + tests = [ + _test_java_runtime_simple, + ], + )
diff --git a/test/java/testutil/java_runtime_info_subject.bzl b/test/java/testutil/java_runtime_info_subject.bzl index ef5bdf9..37a477e 100644 --- a/test/java/testutil/java_runtime_info_subject.bzl +++ b/test/java/testutil/java_runtime_info_subject.bzl
@@ -14,6 +14,7 @@ java_home_runfiles_path = lambda: _new_path_string_subject(self.actual.java_home_runfiles_path, self.meta.derive("java_home_runfiles_path")), java_executable_exec_path = lambda: _new_path_string_subject(self.actual.java_executable_exec_path, self.meta.derive("java_executable_exec_path")), java_executable_runfiles_path = lambda: _new_path_string_subject(self.actual.java_executable_runfiles_path, self.meta.derive("java_executable_runfiles_path")), + files = lambda: subjects.depset_file(self.actual.files, self.meta.derive("files")), ) return public