aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGreg <gregestren@users.noreply.github.com>2020-03-25 14:05:24 -0400
committerGitHub <noreply@github.com>2020-03-25 14:05:24 -0400
commitdfcfe825005ffba4a7c15cd9ddac737d040d2506 (patch)
treef3b52e3aec8ae5d7a6ea6f6f73786d0a1cb35278 /tests
parent2d620ba1f8284695181fa092ec4064724ea99a9a (diff)
downloadbazel-skylib-dfcfe825005ffba4a7c15cd9ddac737d040d2506.tar.gz
Fix type parsing errors on "always true" conditions. (#239)
Specifically: selects.config_setting_group( name = "always_true", match_any = ["//conditions:default"], ) and selects.config_setting_group( name = "always_true", match_all = ["//conditions:default"], ) These should, as expected, always evaluate to True. Their implementation had a bug that failed the build outright.
Diffstat (limited to 'tests')
-rw-r--r--tests/selects_tests.bzl51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/selects_tests.bzl b/tests/selects_tests.bzl
index b2bda92..ceefa03 100644
--- a/tests/selects_tests.bzl
+++ b/tests/selects_tests.bzl
@@ -541,6 +541,54 @@ def _or_config_setting_group_single_setting_fails_test():
)
###################################################
+# always_true_match_all_test
+###################################################
+always_true_match_all_test = analysistest.make(_expect_matches)
+
+def _always_true_match_all_test():
+ """Tests that "match_all=['//conditions:default']" always matches."""
+ selects.config_setting_group(
+ name = "all_always_match",
+ match_all = ["//conditions:default"],
+ )
+ boolean_attr_rule(
+ name = "match_always_true_rule",
+ myboolean = select(
+ {
+ ":all_always_match": True,
+ },
+ ),
+ )
+ always_true_match_all_test(
+ name = "always_true_match_all_test",
+ target_under_test = ":match_always_true_rule",
+ )
+
+###################################################
+# always_true_match_any_test
+###################################################
+always_true_match_any_test = analysistest.make(_expect_matches)
+
+def _always_true_match_any_test():
+ """Tests that "match_any=['//conditions:default']" always matches."""
+ selects.config_setting_group(
+ name = "any_always_match",
+ match_any = ["//conditions:default"],
+ )
+ boolean_attr_rule(
+ name = "match_any_always_true_rule",
+ myboolean = select(
+ {
+ ":any_always_match": True,
+ },
+ ),
+ )
+ always_true_match_any_test(
+ name = "always_true_match_any_test",
+ target_under_test = ":match_any_always_true_rule",
+ )
+
+###################################################
# empty_config_setting_group_not_allowed_test
###################################################
@@ -587,5 +635,8 @@ def selects_test_suite():
_or_config_setting_group_single_setting_matches_test()
_or_config_setting_group_single_setting_fails_test()
+ _always_true_match_all_test()
+ _always_true_match_any_test()
+
# _empty_config_setting_group_not_allowed_test()
# _and_and_or_not_allowed_together_test()