From 40d0077016dee31865af5246cbd6b2953d6386b3 Mon Sep 17 00:00:00 2001 From: janakr Date: Wed, 14 Feb 2018 14:08:45 -0800 Subject: Start slimming down ToolchainResolutionKey: get rid of BuildConfiguration. The real blocker is PlatformInfo, which is coming. PiperOrigin-RevId: 185742130 --- .../devtools/build/lib/analysis/util/BuildViewTestCase.java | 4 ++++ .../devtools/build/lib/skyframe/DefaultToolchainTest.java | 2 +- .../build/lib/skyframe/RegisteredToolchainsFunctionTest.java | 10 +++++----- .../build/lib/skyframe/ToolchainResolutionFunctionTest.java | 6 +++--- .../google/devtools/build/lib/skyframe/ToolchainUtilTest.java | 9 ++++++++- 5 files changed, 21 insertions(+), 10 deletions(-) (limited to 'src/test/java/com/google') diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index 6dda4a726b..4d6f66eb90 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -124,6 +124,7 @@ import com.google.devtools.build.lib.pkgcache.PathPackageLocator; import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction; import com.google.devtools.build.lib.skyframe.AspectValue; import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants; +import com.google.devtools.build.lib.skyframe.BuildConfigurationValue; import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; import com.google.devtools.build.lib.skyframe.DiffAwareness; @@ -202,6 +203,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase { private MutableActionGraph mutableActionGraph; private LoadingOptions customLoadingOptions = null; + protected BuildConfigurationValue.Key targetConfigKey; @Before public final void initializeSkyframeExecutor() throws Exception { @@ -465,6 +467,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { + configsMode.toString().toLowerCase(); masterConfig = createConfigurations(actualArgs); targetConfig = getTargetConfiguration(); + targetConfigKey = + BuildConfigurationValue.key(targetConfig.fragmentClasses(), targetConfig.getOptions()); configurationArgs = Arrays.asList(actualArgs); createBuildView(); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java index bd6c8ccec0..324ec10f2e 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java @@ -32,7 +32,7 @@ import org.junit.runners.JUnit4; public class DefaultToolchainTest extends ToolchainTestCase { @Test public void testDefaultCcToolchainIsPresent() throws Exception { - SkyKey toolchainKey = RegisteredToolchainsValue.key(targetConfig); + SkyKey toolchainKey = RegisteredToolchainsValue.key(targetConfigKey); EvaluationResult result = requestToolchainsFromSkyframe(toolchainKey); ImmutableList declaredToolchains = diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java index 01d216eddb..e45680d1d4 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java @@ -34,7 +34,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { @Test public void testRegisteredToolchains() throws Exception { // Request the toolchains. - SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig); + SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey); EvaluationResult result = requestToolchainsFromSkyframe(toolchainsKey); assertThatEvaluationResult(result).hasNoError(); @@ -93,7 +93,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { rewriteWorkspace("register_toolchains('//toolchain:toolchain_1')"); useConfiguration("--extra_toolchains=//extra:extra_toolchain"); - SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig); + SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey); EvaluationResult result = requestToolchainsFromSkyframe(toolchainsKey); assertThatEvaluationResult(result).hasNoError(); @@ -111,7 +111,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { scratch.file("error/BUILD", "filegroup(name = 'not_a_toolchain')"); // Request the toolchains. - SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig); + SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey); EvaluationResult result = requestToolchainsFromSkyframe(toolchainsKey); assertThatEvaluationResult(result) @@ -127,7 +127,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { public void testRegisteredToolchains_reload() throws Exception { rewriteWorkspace("register_toolchains('//toolchain:toolchain_1')"); - SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig); + SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey); EvaluationResult result = requestToolchainsFromSkyframe(toolchainsKey); assertThatEvaluationResult(result).hasNoError(); @@ -137,7 +137,7 @@ public class RegisteredToolchainsFunctionTest extends ToolchainTestCase { // Re-write the WORKSPACE. rewriteWorkspace("register_toolchains('//toolchain:toolchain_2')"); - toolchainsKey = RegisteredToolchainsValue.key(targetConfig); + toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey); result = requestToolchainsFromSkyframe(toolchainsKey); assertThatEvaluationResult(result).hasNoError(); assertToolchainLabels(result.get(toolchainsKey)) diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java index 92f24edfec..35d07054d7 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java @@ -50,7 +50,7 @@ public class ToolchainResolutionFunctionTest extends ToolchainTestCase { public void testResolution_singleExecutionPlatform() throws Exception { SkyKey key = ToolchainResolutionValue.key( - targetConfig, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform)); + targetConfigKey, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform)); EvaluationResult result = invokeToolchainResolution(key); assertThatEvaluationResult(result).hasNoError(); @@ -76,7 +76,7 @@ public class ToolchainResolutionFunctionTest extends ToolchainTestCase { SkyKey key = ToolchainResolutionValue.key( - targetConfig, + targetConfigKey, testToolchainType, linuxPlatform, ImmutableList.of(linuxPlatform, macPlatform)); @@ -100,7 +100,7 @@ public class ToolchainResolutionFunctionTest extends ToolchainTestCase { SkyKey key = ToolchainResolutionValue.key( - targetConfig, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform)); + targetConfigKey, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform)); EvaluationResult result = invokeToolchainResolution(key); assertThatEvaluationResult(result) diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java index 44779427d3..442f5de64b 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java @@ -212,7 +212,14 @@ public class ToolchainUtilTest extends ToolchainTestCase { try { toolchainContext = ToolchainUtil.createToolchainContext( - env, key.targetDescription(), key.requiredToolchains(), key.configuration()); + env, + key.targetDescription(), + key.requiredToolchains(), + key.configuration(), + key.configuration() == null + ? null + : BuildConfigurationValue.key( + key.configuration().fragmentClasses(), key.configuration().getOptions())); if (toolchainContext == null) { return null; } -- cgit v1.2.3