diff options
author | 2016-09-25 20:24:24 +0000 | |
---|---|---|
committer | 2016-09-26 07:48:01 +0000 | |
commit | 94b2c8889817359705710a544d850987d535135d (patch) | |
tree | 75b78821de62860898f0d98dc1ab47d222392221 /src/test/java/com | |
parent | 8d76f0729ba3b6f12cf3546ab19a3437991315e3 (diff) |
Native declared providers are automatically exported.
--
MOS_MIGRATED_REVID=134221884
Diffstat (limited to 'src/test/java/com')
3 files changed, 18 insertions, 5 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 453f47d1ad..8a18f541d9 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 @@ -23,7 +23,7 @@ import com.google.devtools.build.lib.analysis.SkylarkProviders; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.SkylarkClassObject; -import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.Key; +import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor.SkylarkKey; import java.util.List; import javax.annotation.Nullable; import org.junit.Test; @@ -64,7 +64,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase { ConfiguredTarget configuredTarget = getConfiguredTarget("//java/test:my"); SkylarkProviders provider = configuredTarget.getProvider(SkylarkProviders.class); SkylarkClassObject skylarkClassObject = provider - .getDeclaredProvider(new Key(Label.parseAbsolute("//java/test:extension.bzl"), "result")); + .getDeclaredProvider( + new SkylarkKey(Label.parseAbsolute("//java/test:extension.bzl"), "result")); assertThat(Iterables.transform((List<?>) skylarkClassObject.getValue("processor_classpath"), new Function<Object, String>() { 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 a140187290..dc08c01695 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 @@ -817,7 +817,7 @@ public class SkylarkIntegrationTest extends BuildViewTestCase { ); ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r"); - SkylarkClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.Key( + SkylarkClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.SkylarkKey( Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"), "my_provider"); SkylarkProviders skylarkProviders = configuredTarget.getProvider(SkylarkProviders.class); @@ -844,7 +844,7 @@ public class SkylarkIntegrationTest extends BuildViewTestCase { ); ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r"); - SkylarkClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.Key( + SkylarkClassObjectConstructor.Key key = new SkylarkClassObjectConstructor.SkylarkKey( Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"), "my_provider"); SkylarkProviders skylarkProviders = configuredTarget.getProvider(SkylarkProviders.class); diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java index 42cd32a2a8..7a78b6e2a2 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java @@ -981,7 +981,7 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase { assertThat(dataConstructor.isExported()).isTrue(); assertThat(dataConstructor.getPrintableName()).isEqualTo("data"); assertThat(dataConstructor.getKey()).isEqualTo( - new SkylarkClassObjectConstructor.Key(FAKE_LABEL, "data") + new SkylarkClassObjectConstructor.SkylarkKey(FAKE_LABEL, "data") ); } @@ -1017,4 +1017,16 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase { "d = d1 + d2" ); } + + @Test + public void structsAsDeclaredProvidersTest() throws Exception { + evalAndExport( + "data = struct(x = 1)" + ); + SkylarkClassObject data = (SkylarkClassObject) lookup("data"); + assertThat(SkylarkClassObjectConstructor.STRUCT.isExported()).isTrue(); + assertThat(data.getConstructor()).isEqualTo(SkylarkClassObjectConstructor.STRUCT); + assertThat(data.getConstructor().getKey()) + .isEqualTo(SkylarkClassObjectConstructor.STRUCT.getKey()); + } } |