diff options
author | 2016-02-04 22:40:56 +0000 | |
---|---|---|
committer | 2016-02-05 00:45:43 +0000 | |
commit | 223976c8f178c6e30bcbd0c331e35d1bd34593ff (patch) | |
tree | 5f606e54992875e04928923d79bd3f84d4ba05e3 /src/test/java | |
parent | d7eae80a50de94c8d3a43493f39b91e411754e82 (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.java | 23 |
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"); + } } |