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