diff options
author | vladmos <vladmos@google.com> | 2017-03-29 14:11:13 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2017-03-29 19:28:25 +0200 |
commit | 629eeccbd1bc0af3a2e682a1cf154a543d07c2ca (patch) | |
tree | 06721172da62dbd6112db96deccc55bee3486748 /src/test/java/com/google/devtools/build/lib/skylark | |
parent | 052c2dc7468ebb7b7ad256a02572938d5f64df6a (diff) |
Resolve special provider names when checking for mandatory providers
If a rule requires a special provider that's (maybe) not provided explicitly
but nevertheless available from a target, i.e. "files", the mandatory providers
check should pass.
Fixes #1490
PiperOrigin-RevId: 151571187
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java index 79231d663d..3f2d91a612 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java @@ -650,6 +650,31 @@ public class SkylarkIntegrationTest extends BuildViewTestCase { } @Test + public void testSpecialMandatoryProviderMissing() throws Exception { + scratch.file( + "test/skylark/extension.bzl", + "def rule_impl(ctx):", + " pass", + "", + "dependent_rule = rule(implementation = rule_impl)", + "main_rule = rule(implementation = rule_impl, attrs = {", + " 'deps': attr.label_list(providers = [", + " 'files', 'data_runfiles', 'default_runfiles',", + " 'files_to_run', 'label', 'output_groups',", + " ])", + "})"); + + scratch.file( + "test/skylark/BUILD", + "load('/test/skylark/extension', 'dependent_rule', 'main_rule')", + "", + "dependent_rule(name = 'a')", + "main_rule(name = 'b', deps = [':a'])"); + + getConfiguredTarget("//test/skylark:b"); + } + + @Test public void testActions() throws Exception { scratch.file( "test/skylark/extension.bzl", |