diff options
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java | 19 |
1 files changed, 19 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 75d79294f5..badce86c03 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 @@ -1185,6 +1185,25 @@ public class SkylarkIntegrationTest extends BuildViewTestCase { } @Test + public void testConflictingProviderKeys() throws Exception { + scratch.file( + "test/extension.bzl", + "my_provider = provider()", + "other_provider = provider()", + "def _impl(ctx):", + " return struct(providers = [my_provider(x = 1), other_provider(), my_provider()])", + "my_rule = rule(_impl)" + ); + + checkError( + "test", + "r", + "Multiple conflicting returned providers with key my_provider", + "load(':extension.bzl', 'my_rule')", + "my_rule(name = 'r')"); + } + + @Test public void testRecursionDetection() throws Exception { reporter.removeHandler(failFastHandler); scratch.file( |