diff options
author | 2017-07-27 12:59:51 +0200 | |
---|---|---|
committer | 2017-07-27 13:20:30 +0200 | |
commit | 983f6c4d7b4cda4e9926361ff2ae76dc6a7f3a6d (patch) | |
tree | b06b5675d9c3721e71aa4e09bcd58bce4cba5581 /src/test/java/com | |
parent | 562fcf9f5dfd14daea718f77da95b43b1400689b (diff) |
Fix a crash when Skylark rule re-exports SkylarkApiProvider.
Also PintoSourcesContextProvider should not be a SkylarkApiProvider: it
is not facade for anything but a provider in its own right.
RELNOTES: None.
PiperOrigin-RevId: 163323130
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java index 906331821b..fbd5fbc410 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java @@ -244,6 +244,32 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { } @Test + public void testSkylarkApiProviderReexported() throws Exception { + scratch.file( + "java/test/extension.bzl", + "def impl(ctx):", + " dep_java = ctx.attr.dep.java", + " return struct(java = dep_java)", + "my_rule = rule(impl, attrs = { ", + " 'dep' : attr.label(), ", + "})"); + scratch.file( + "java/test/BUILD", + "load(':extension.bzl', 'my_rule')", + "java_library(name = 'jl', srcs = ['Jl.java'])", + "my_rule(name = 'my', dep = ':jl')"); + // Now, get that information and ensure it is equal to what the jl java_library + // was presenting + ConfiguredTarget myConfiguredTarget = getConfiguredTarget("//java/test:my"); + ConfiguredTarget javaLibraryTarget = getConfiguredTarget("//java/test:jl"); + + assertThat(myConfiguredTarget.get("java")).isSameAs( + javaLibraryTarget.get("java") + ); + } + + + @Test public void javaProviderFieldsAreCorrectAfterCreatingProvider() throws Exception { scratch.file( "foo/extension.bzl", |