aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2017-07-27 22:09:34 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-07-28 10:44:52 +0200
commitda4c959603280ded71ad8fbc2d30d4917b175750 (patch)
treedd201d03665350c1fec5247eba18af0bea4dd205 /src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
parentd8235cf959ac1326836064aa9442256b69f7318a (diff)
Fix confusing semantics for Attribute.Builder.allowedRuleClasses.
1) Update the javadocs. 2) Clarify that allowedRuleClases and allowedRuleClassesWithWarning must be disjoint sets. 3) Enforce 2). 4) Fix error messaging when only "with warnings" is set. PiperOrigin-RevId: 163379567
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
index 1f507b57f2..b5d74d7852 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java
@@ -310,4 +310,19 @@ public class AttributeTest {
return new TestSplitTransition();
}
}
+
+ @Test
+ public void allowedRuleClassesAndAllowedRuleClassesWithWarningsCannotOverlap() throws Exception {
+ try {
+ attr("x", LABEL_LIST)
+ .allowedRuleClasses("foo", "bar", "baz")
+ .allowedRuleClassesWithWarning("bar")
+ .allowedFileTypes()
+ .build();
+ fail("Expected illegal state exception because rule classes and rule classes with warning "
+ + "overlap");
+ } catch (IllegalStateException e) {
+ assertThat(e).hasMessageThat().contains("may not contain the same rule classes");
+ }
+ }
}