aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-27 12:59:51 +0200
committerGravatar Jakob Buchgraber <buchgr@google.com>2017-07-27 13:20:30 +0200
commit983f6c4d7b4cda4e9926361ff2ae76dc6a7f3a6d (patch)
treeb06b5675d9c3721e71aa4e09bcd58bce4cba5581 /src/test/java/com
parent562fcf9f5dfd14daea718f77da95b43b1400689b (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.java26
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",