aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
diff options
context:
space:
mode:
authorGravatar Vladimir Moskva <vladmos@google.com>2016-09-30 20:52:31 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-10-04 08:53:14 +0000
commit3c0d64886d2f7f6b2015780f1628b1391c320d0f (patch)
tree5fa355b7828a9ad924da8f7c4c60d4c43de38e3d /src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
parentbba8f91a309e9c715ac8a1ac76821247f4887d50 (diff)
Proper error messages when built-in rule attributes are overridden #1811
-- MOS_MIGRATED_REVID=134823021
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index 03590c7979..2367da2cf5 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -97,13 +97,28 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
Assert.fail("Expected error '"
+ "There is already a built-in attribute 'tags' which cannot be overridden"
+ "' but got no error");
- } catch (IllegalArgumentException | EvalException e) {
+ } catch (EvalException e) {
assertThat(e).hasMessage(
"There is already a built-in attribute 'tags' which cannot be overridden");
}
}
@Test
+ public void testCannotOverrideBuiltInAttributeName() throws Exception {
+ ev.setFailFast(true);
+ try {
+ evalAndExport(
+ "def impl(ctx): return", "r = rule(impl, attrs = {'name': attr.string()})");
+ Assert.fail("Expected error '"
+ + "There is already a built-in attribute 'name' which cannot be overridden"
+ + "' but got no error");
+ } catch (EvalException e) {
+ assertThat(e).hasMessage(
+ "There is already a built-in attribute 'name' which cannot be overridden");
+ }
+ }
+
+ @Test
public void testImplicitArgsAttribute() throws Exception {
evalAndExport(
"def _impl(ctx):",