aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2016-02-04 22:40:56 +0000
committerGravatar David Chen <dzc@google.com>2016-02-05 00:45:43 +0000
commit223976c8f178c6e30bcbd0c331e35d1bd34593ff (patch)
tree5f606e54992875e04928923d79bd3f84d4ba05e3 /src/test/java
parentd7eae80a50de94c8d3a43493f39b91e411754e82 (diff)
Make Skylark "license"-type attributes non-configurable.
Bazel has custom loading-phase logic checking "licenses" attributes. Without this change, that logic fails with a "licenses is potentially configurable" error. -- MOS_MIGRATED_REVID=113890489
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java23
1 files changed, 23 insertions, 0 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 717a132003..76bbbd47f8 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
@@ -570,4 +570,27 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
"invalid target name 'bad syntax': target names may not contain ' '",
"Label('//foo:bar').relative('bad syntax')");
}
+
+ @Test
+ public void testLicenseAttributesNonconfigurable() throws Exception {
+ scratch.file("test/BUILD");
+ scratch.file("test/rule.bzl",
+ "def _impl(ctx):",
+ " return",
+ "some_rule = rule(",
+ " implementation = _impl,",
+ " attrs = {",
+ " 'licenses': attr.license()",
+ " }",
+ ")");
+ scratch.file("third_party/foo/BUILD",
+ "load('/test/rule', 'some_rule')",
+ "some_rule(",
+ " name='r',",
+ " licenses = ['unencumbered']",
+ ")");
+ invalidatePackages();
+ // Should succeed without a "licenses attribute is potentially configurable" loading error:
+ createRuleContext("//third_party/foo:r");
+ }
}