blob: 727790f89a8ffd335ed2b4a1f0a530305965778d [file] [log] [blame]
"""Tests for DeployArchiveBuilder."""
load("@rules_testing//lib:analysis_test.bzl", "analysis_test", "test_suite")
load("@rules_testing//lib:truth.bzl", "matching")
load("@rules_testing//lib:util.bzl", "util")
load("//java:java_binary.bzl", "java_binary")
load("//test/java/testutil:mock_java_toolchain.bzl", "mock_java_toolchain")
def _test_custom_singlejar(name):
util.helper_target(
mock_java_toolchain,
name = name + "/toolchain",
)
util.helper_target(
java_binary,
name = name + "/binary",
srcs = [name + "/main.java"],
main_class = "com.google.test.main",
)
analysis_test(
name = name,
impl = _test_custom_singlejar_impl,
target = name + "/binary",
config_settings = {
"//command_line_option:extra_toolchains": [Label(name + "/toolchain")],
},
# Starlark rules are only used with Bazel 8 onwards.
attr_values = {"tags": ["min_bazel_8"]},
)
def _test_custom_singlejar_impl(env, target):
action = env.expect.that_target(target).action_named("JavaDeployJar")
action.inputs().contains_at_least_predicates(
[
matching.file_path_matches("*/test_custom_singlejar/binary.jar"),
],
)
def deploy_archive_builder_test_suite(name):
"""Test suite for java_binary deploy archive."""
test_suite(
name = name,
tests = [
_test_custom_singlejar,
],
)