aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/platform
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-09-27 11:25:32 -0400
committerGravatar John Cater <jcater@google.com>2017-09-28 08:54:19 -0400
commita5d95127aae787769ae61fca323c143d1e21c558 (patch)
treeaae0a34d6ead498252a85b360ed5982de7fe3af4 /src/test/java/com/google/devtools/build/lib/rules/platform
parent3f6e857042b4d2e9f6b006b22e63ad758939305f (diff)
Mock cc toolchain is registered in module instead of in PlatformOptions.
PiperOrigin-RevId: 170200236
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/platform')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/BUILD9
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java38
2 files changed, 47 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
index 6a3bab0083..704fcb4ea2 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
@@ -28,8 +28,12 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis/platform",
"//src/main/java/com/google/devtools/build/lib/analysis/platform:utils",
"//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/collect",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/test/java/com/google/devtools/build/lib:analysis_testutil",
"//src/test/java/com/google/devtools/build/lib:packages_testutil",
+ "//src/test/java/com/google/devtools/build/lib/skyframe:testutil",
"//src/test/java/com/google/devtools/build/lib/skylark:testutil",
"//third_party:guava",
"//third_party:guava-testlib",
@@ -43,9 +47,14 @@ java_library(
srcs = TESTUTIL_SRCS,
visibility = ["//src/test/java/com/google/devtools/build/lib:__subpackages__"],
deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
"//src/main/java/com/google/devtools/build/lib/analysis/platform",
"//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/test/java/com/google/devtools/build/lib/skyframe:testutil",
"//src/test/java/com/google/devtools/build/lib/skylark:testutil",
+ "//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
],
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
index 23e92db4c1..77a9daa331 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
@@ -14,11 +14,22 @@
package com.google.devtools.build.lib.rules.platform;
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.truth.IterableSubject;
import com.google.devtools.build.lib.analysis.platform.ConstraintSettingInfo;
import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo;
+import com.google.devtools.build.lib.analysis.platform.DeclaredToolchainInfo;
import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.skyframe.RegisteredToolchainsValue;
+import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils;
import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
+import com.google.devtools.build.skyframe.EvaluationResult;
+import com.google.devtools.build.skyframe.SkyKey;
+import java.util.List;
+import java.util.stream.Collectors;
import org.junit.Before;
/** Utility methods for setting up platform and toolchain related tests. */
@@ -33,6 +44,22 @@ public abstract class ToolchainTestCase extends SkylarkTestCase {
public Label testToolchainType;
+ protected static IterableSubject assertToolchainLabels(
+ RegisteredToolchainsValue registeredToolchainsValue) {
+ assertThat(registeredToolchainsValue).isNotNull();
+ ImmutableList<DeclaredToolchainInfo> declaredToolchains =
+ registeredToolchainsValue.registeredToolchains();
+ List<Label> labels = collectToolchainLabels(declaredToolchains);
+ return assertThat(labels);
+ }
+
+ protected static List<Label> collectToolchainLabels(List<DeclaredToolchainInfo> toolchains) {
+ return toolchains
+ .stream()
+ .map((toolchain -> toolchain.toolchainLabel()))
+ .collect(Collectors.toList());
+ }
+
@Before
public void createConstraints() throws Exception {
scratch.file(
@@ -102,4 +129,15 @@ public abstract class ToolchainTestCase extends SkylarkTestCase {
testToolchainType = makeLabel("//toolchain:test_toolchain");
}
+
+ protected EvaluationResult<RegisteredToolchainsValue> requestToolchainsFromSkyframe(
+ SkyKey toolchainsKey) throws InterruptedException {
+ try {
+ getSkyframeExecutor().getSkyframeBuildView().enableAnalysis(true);
+ return SkyframeExecutorTestUtils.evaluate(
+ getSkyframeExecutor(), toolchainsKey, /*keepGoing=*/ false, reporter);
+ } finally {
+ getSkyframeExecutor().getSkyframeBuildView().enableAnalysis(false);
+ }
+ }
}