aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-05-24 10:37:03 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-24 10:38:19 -0700
commit0c5c1c67da1d3c2d1c6fa76230ef0d41ce47e0c2 (patch)
tree453bc6c2732730fc043e09e89de86131c6071504 /src/test/java/com/google/devtools/build/lib
parentbc32493847eb5670ed9fdf472abc3a70b1901999 (diff)
Migrate struct() to skylarkbuildapi
RELNOTES: None. PiperOrigin-RevId: 197915097
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java22
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java3
3 files changed, 19 insertions, 10 deletions
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 debf9f5ab2..13d1997bec 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
@@ -35,7 +35,6 @@ import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.BuildType;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction;
import com.google.devtools.build.lib.packages.Info;
-import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.packages.PredicateWithMessage;
import com.google.devtools.build.lib.packages.RequiredProviders;
import com.google.devtools.build.lib.packages.RuleClass;
@@ -45,6 +44,7 @@ import com.google.devtools.build.lib.packages.SkylarkDefinedAspect;
import com.google.devtools.build.lib.packages.SkylarkInfo;
import com.google.devtools.build.lib.packages.SkylarkProvider;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
+import com.google.devtools.build.lib.packages.StructProvider;
import com.google.devtools.build.lib.rules.cpp.transitions.DisableLipoTransition;
import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction;
import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
@@ -1180,17 +1180,17 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
}
private static Info makeStruct(String field, Object value) {
- return NativeProvider.STRUCT.create(ImmutableMap.of(field, value), "no field '%'");
+ return StructProvider.STRUCT.create(ImmutableMap.of(field, value), "no field '%'");
}
private static Info makeBigStruct(Environment env) {
// struct(a=[struct(x={1:1}), ()], b=(), c={2:2})
- return NativeProvider.STRUCT.create(
+ return StructProvider.STRUCT.create(
ImmutableMap.<String, Object>of(
"a",
MutableList.<Object>of(
env,
- NativeProvider.STRUCT.create(
+ StructProvider.STRUCT.create(
ImmutableMap.<String, Object>of(
"x", SkylarkDict.<Object, Object>of(env, 1, 1)),
"no field '%s'"),
@@ -1311,9 +1311,9 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
"data = struct(x = 1)"
);
Info data = (Info) lookup("data");
- assertThat(NativeProvider.STRUCT.isExported()).isTrue();
- assertThat(data.getProvider()).isEqualTo(NativeProvider.STRUCT);
- assertThat(data.getProvider().getKey()).isEqualTo(NativeProvider.STRUCT.getKey());
+ assertThat(StructProvider.STRUCT.isExported()).isTrue();
+ assertThat(data.getProvider()).isEqualTo(StructProvider.STRUCT);
+ assertThat(data.getProvider().getKey()).isEqualTo(StructProvider.STRUCT.getKey());
}
@Test
@@ -1656,4 +1656,12 @@ public class SkylarkRuleClassFunctionsTest extends SkylarkTestCase {
assertThat(params.get(0)).isEqualTo("NoneType");
assertThat(params.get(1)).isEqualTo("NoneType");
}
+
+ @Test
+ public void testTypeOfStruct() throws Exception {
+ eval("p = type(struct)", "s = type(struct())");
+
+ assertThat(lookup("p")).isEqualTo("Provider");
+ assertThat(lookup("s")).isEqualTo("struct");
+ }
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
index a34eab24ba..4c1810aa16 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
@@ -21,7 +21,7 @@ import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
-import com.google.devtools.build.lib.packages.NativeProvider;
+import com.google.devtools.build.lib.packages.StructProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
@@ -129,7 +129,7 @@ public class EvalUtilsTest extends EvaluationTestCase {
SkylarkDict.of(env, "key", 123),
SkylarkDict.of(env, 123, "value"),
NestedSetBuilder.stableOrder().add(1).add(2).add(3).build(),
- NativeProvider.STRUCT.create(ImmutableMap.of("key", (Object) "value"), "no field %s"),
+ StructProvider.STRUCT.create(ImmutableMap.of("key", (Object) "value"), "no field %s"),
};
for (int i = 0; i < objects.length; ++i) {
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 3e0db3dd03..422ac033a5 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
+import com.google.devtools.build.lib.packages.StructProvider;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.ParamType;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
@@ -385,7 +386,7 @@ public class SkylarkEvaluationTest extends EvaluationTest {
builder.put(nativeFunction,
FuncallExpression.getBuiltinCallable(this, nativeFunction));
}
- return NativeProvider.STRUCT.create(builder.build(), "no native callable '%s'");
+ return StructProvider.STRUCT.create(builder.build(), "no native callable '%s'");
}
@SkylarkCallable(