diff options
author | 2017-09-27 11:25:32 -0400 | |
---|---|---|
committer | 2017-09-28 08:54:19 -0400 | |
commit | a5d95127aae787769ae61fca323c143d1e21c558 (patch) | |
tree | aae0a34d6ead498252a85b360ed5982de7fe3af4 /src/test/java/com/google/devtools/build/lib/rules/platform | |
parent | 3f6e857042b4d2e9f6b006b22e63ad758939305f (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/BUILD | 9 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java | 38 |
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); + } + } } |