aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-03-29 14:11:13 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-29 19:28:25 +0200
commit629eeccbd1bc0af3a2e682a1cf154a543d07c2ca (patch)
tree06721172da62dbd6112db96deccc55bee3486748 /src/test/java
parent052c2dc7468ebb7b7ad256a02572938d5f64df6a (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')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java25
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",