diff options
author | 2017-07-27 22:09:34 +0200 | |
---|---|---|
committer | 2017-07-28 10:44:52 +0200 | |
commit | da4c959603280ded71ad8fbc2d30d4917b175750 (patch) | |
tree | dd201d03665350c1fec5247eba18af0bea4dd205 /src/test/java/com/google/devtools/build/lib/packages/AttributeTest.java | |
parent | d8235cf959ac1326836064aa9442256b69f7318a (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.java | 15 |
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"); + } + } } |