diff options
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.java | 41 |
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( |