aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar Jon Brandvein <brandjon@google.com>2016-12-13 16:48:18 +0000
committerGravatar John Cater <jcater@google.com>2016-12-13 21:03:51 +0000
commitf948305816370f75983fa6da676d73f416973f4c (patch)
treee5aaa6002acb5b31d6a97cee36d59012580a6069 /src/test/java/com
parent0f0f383e8c5b51258157f7c34368f2209d870854 (diff)
Fix error message that gives incomplete information
-- PiperOrigin-RevId: 141896569 MOS_MIGRATED_REVID=141896569
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java20
1 files changed, 20 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 fb6550eafb..9a5dff250d 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
@@ -928,6 +928,26 @@ public class SkylarkIntegrationTest extends BuildViewTestCase {
}
@Test
+ public void testProviderValidation() throws Exception {
+ // This does not have full coverage for SkylarkProviderValidationUtil, which eventually
+ // should be factored into a more general way for validating that an object is deeply
+ // Skylark-permissible. It's just a regression test for specific issues.
+ reporter.removeHandler(failFastHandler);
+ scratch.file(
+ "test/skylark/extension.bzl",
+ "def _impl(ctx):",
+ " return struct(bad=set([set([])]))",
+ "my_rule = rule(implementation = _impl)");
+ scratch.file(
+ "test/skylark/BUILD",
+ "load('/test/skylark/extension', 'my_rule')",
+ "my_rule(name = 'r')");
+
+ getConfiguredTarget("//test/skylark:r");
+ assertContainsEvent("Value of provider 'bad' is of an illegal type: set\n");
+ }
+
+ @Test
public void testRecursionDetection() throws Exception {
reporter.removeHandler(failFastHandler);
scratch.file(