Add `rule_util.bzl` tests PiperOrigin-RevId: 683145308 Change-Id: I2ae3a98c02bbc5d55f91e18f03594ca00dd6ac6e
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 4338311..66b78ae 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml
@@ -17,6 +17,7 @@ test_targets: &test_targets - "//test/..." + - "//java/test/..." buildifier: latest
diff --git a/java/test/BUILD b/java/test/BUILD new file mode 100644 index 0000000..8a52e41 --- /dev/null +++ b/java/test/BUILD
@@ -0,0 +1,3 @@ +load(":merge_attrs_tests.bzl", "merge_attrs_test_suite") + +merge_attrs_test_suite(name = "merge_attrs_tests")
diff --git a/java/test/merge_attrs_tests.bzl b/java/test/merge_attrs_tests.bzl new file mode 100644 index 0000000..84b340e --- /dev/null +++ b/java/test/merge_attrs_tests.bzl
@@ -0,0 +1,38 @@ +"""Tests for merge_attrsfunction""" + +load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest") +load( + "//java/common/rules:rule_util.bzl", + "merge_attrs", +) + +_attr_string = attr.string() +_attr_string_different_ref = attr.string() +_attr_string_different = attr.string(default = "Some default") + +def _merge_attrs_merges_impl(ctx): + env = unittest.begin(ctx) + + attrs = merge_attrs( + {"A": _attr_string}, + {"B": _attr_string_different_ref, "C": _attr_string_different}, + override_attrs = {"B": _attr_string_different}, + remove_attrs = ["C"], + ) + + asserts.equals(env, attrs, {"A": _attr_string, "B": _attr_string_different}) + + return unittest.end(env) + +merge_attrs_merges_test = unittest.make(_merge_attrs_merges_impl) + +def merge_attrs_test_suite(name): + """Sets up util test suite + + Args: + name: the name of the test suite target + """ + unittest.suite( + name, + merge_attrs_merges_test, + )