aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java
index 0d87489daf..b8fd500689 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTest.java
@@ -288,6 +288,47 @@ public final class ConfigFeatureFlagTest extends SkylarkTestCase {
}
@Test
+ public void policy_mustContainRulesPackage() throws Exception {
+ reporter.removeHandler(failFastHandler); // expecting an error
+ scratch.file(
+ "policy/BUILD",
+ "package_group(name = 'feature_flag_users', packages = ['//some/other'])");
+ scratch.file(
+ "test/BUILD",
+ "config_feature_flag(",
+ " name = 'flag',",
+ " allowed_values = ['default', 'configured', 'other'],",
+ " default_value = 'default',",
+ ")");
+ useConfiguration(
+ "--experimental_dynamic_configs=on",
+ "--feature_control_policy=config_feature_flag=//policy:feature_flag_users");
+ assertThat(getConfiguredTarget("//test:flag")).isNull();
+ assertContainsEvent(
+ "in config_feature_flag rule //test:flag: the config_feature_flag rule is not available in "
+ + "package 'test' according to policy '//policy:feature_flag_users'");
+ }
+
+ @Test
+ public void policy_doesNotBlockRuleIfInPackageGroup() throws Exception {
+ scratch.file(
+ "policy/BUILD",
+ "package_group(name = 'feature_flag_users', packages = ['//test'])");
+ scratch.file(
+ "test/BUILD",
+ "config_feature_flag(",
+ " name = 'flag',",
+ " allowed_values = ['default', 'configured', 'other'],",
+ " default_value = 'default',",
+ ")");
+ useConfiguration(
+ "--experimental_dynamic_configs=on",
+ "--feature_control_policy=config_feature_flag=//policy:feature_flag_users");
+ assertThat(getConfiguredTarget("//test:flag")).isNotNull();
+ assertNoEvents();
+ }
+
+ @Test
public void equalsTester() {
new EqualsTester()
.addEqualityGroup(