aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/cpp
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2018-06-15 09:10:05 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-15 09:11:41 -0700
commit8820d3ae601f229b72c61d2eb601b0e8e9b0111a (patch)
tree02caa729cae33cb2414cbda033313705cf0278b9 /src/test/java/com/google/devtools/build/lib/rules/cpp
parentb36470e6e0073a76012afbed7ba9cf9c32ef002c (diff)
Remove LIPO support
RELNOTES: Support for LIPO has been fully removed. PiperOrigin-RevId: 200724578
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/cpp')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java79
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java53
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/LipoTransitionsTest.java214
4 files changed, 30 insertions, 318 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
index 1c1eed5af7..18f661b953 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
@@ -42,7 +42,6 @@ import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.rules.ToolchainType;
import com.google.devtools.build.lib.rules.core.CoreRules;
-import com.google.devtools.build.lib.rules.cpp.transitions.LipoDataTransitionRuleSet;
import com.google.devtools.build.lib.rules.platform.PlatformRules;
import com.google.devtools.build.lib.rules.repository.CoreWorkspaceRules;
import com.google.devtools.build.lib.util.FileType;
@@ -993,7 +992,6 @@ public class CcCommonTest extends BuildViewTestCase {
public ConfiguredRuleClassProvider createRuleClassProvider() {
ConfiguredRuleClassProvider.Builder builder = new ConfiguredRuleClassProvider.Builder();
builder.setToolsRepository("@bazel_tools");
- LipoDataTransitionRuleSet.INSTANCE.init(builder);
BazelRuleClassProvider.BAZEL_SETUP.init(builder);
CoreRules.INSTANCE.init(builder);
CoreWorkspaceRules.INSTANCE.init(builder);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
index d4e6cb5465..8cb1ba8fa2 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
@@ -281,7 +281,8 @@ public class CcToolchainTest extends BuildViewTestCase {
@Test
public void testBadDynamicRuntimeLib() throws Exception {
- scratch.file("a/BUILD",
+ scratch.file(
+ "a/BUILD",
"filegroup(name='dynamic', srcs=['not-an-so', 'so.so'])",
"filegroup(name='static', srcs=['not-an-a', 'a.a'])",
"cc_toolchain(",
@@ -300,10 +301,13 @@ public class CcToolchainTest extends BuildViewTestCase {
" dynamic_runtime_libs = [':dynamic'],",
" static_runtime_libs = [':static'])");
- getAnalysisMock().ccSupport().setupCrosstool(mockToolsConfig,
- CrosstoolConfig.CToolchain.newBuilder()
- .setSupportsEmbeddedRuntimes(true)
- .buildPartial());
+ getAnalysisMock()
+ .ccSupport()
+ .setupCrosstool(
+ mockToolsConfig,
+ CrosstoolConfig.CToolchain.newBuilder()
+ .setSupportsEmbeddedRuntimes(true)
+ .buildPartial());
useConfiguration();
@@ -311,48 +315,6 @@ public class CcToolchainTest extends BuildViewTestCase {
}
@Test
- public void testTurnOffDynamicLinkWhenLipoBinary() throws Exception {
- scratch.file(
- "a/BUILD",
- "filegroup(",
- " name='empty')",
- "filegroup(",
- " name = 'banana',",
- " srcs = ['banana1', 'banana2'])",
- "cc_toolchain(",
- " name = 'b',",
- " cpu = 'banana',",
- " all_files = ':banana',",
- " ar_files = ':empty',",
- " as_files = ':empty',",
- " compiler_files = ':empty',",
- " dwp_files = ':empty',",
- " linker_files = ':empty',",
- " strip_files = ':empty',",
- " objcopy_files = ':empty',",
- " dynamic_runtime_libs = [':empty'],",
- " static_runtime_libs = [':empty'])");
- scratch.file("foo/BUILD", "cc_binary(name='foo')");
-
- useConfiguration("--lipo=binary", "--lipo_context=//foo", "--compilation_mode=opt");
- ConfiguredTarget target = getConfiguredTarget("//a:b");
- CcToolchainProvider toolchainProvider =
- (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
- assertThat(
- CppHelper.getDynamicMode(
- getConfiguration(target).getFragment(CppConfiguration.class), toolchainProvider))
- .isEqualTo(DynamicMode.OFF);
-
- useConfiguration("--lipo=off", "--lipo_context=//foo");
- target = getConfiguredTarget("//a:b");
- toolchainProvider = (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
- assertThat(
- CppHelper.getDynamicMode(
- getConfiguration(target).getFragment(CppConfiguration.class), toolchainProvider))
- .isEqualTo(DynamicMode.DEFAULT);
- }
-
- @Test
public void testDynamicMode() throws Exception {
scratch.file(
"a/BUILD",
@@ -378,33 +340,24 @@ public class CcToolchainTest extends BuildViewTestCase {
// Check defaults.
useConfiguration();
ConfiguredTarget target = getConfiguredTarget("//a:b");
- CcToolchainProvider toolchainProvider =
- (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
+ CppConfiguration cppConfiguration =
+ getConfiguration(target).getFragment(CppConfiguration.class);
- assertThat(
- CppHelper.getDynamicMode(
- getConfiguration(target).getFragment(CppConfiguration.class), toolchainProvider))
- .isEqualTo(DynamicMode.DEFAULT);
+ assertThat(cppConfiguration.getDynamicModeFlag()).isEqualTo(DynamicMode.DEFAULT);
// Test "off"
useConfiguration("--dynamic_mode=off");
target = getConfiguredTarget("//a:b");
- toolchainProvider = (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
+ cppConfiguration = getConfiguration(target).getFragment(CppConfiguration.class);
- assertThat(
- CppHelper.getDynamicMode(
- getConfiguration(target).getFragment(CppConfiguration.class), toolchainProvider))
- .isEqualTo(DynamicMode.OFF);
+ assertThat(cppConfiguration.getDynamicModeFlag()).isEqualTo(DynamicMode.OFF);
// Test "fully"
useConfiguration("--dynamic_mode=fully");
target = getConfiguredTarget("//a:b");
- toolchainProvider = (CcToolchainProvider) target.get(ToolchainInfo.PROVIDER);
+ cppConfiguration = getConfiguration(target).getFragment(CppConfiguration.class);
- assertThat(
- CppHelper.getDynamicMode(
- getConfiguration(target).getFragment(CppConfiguration.class), toolchainProvider))
- .isEqualTo(DynamicMode.FULLY);
+ assertThat(cppConfiguration.getDynamicModeFlag()).isEqualTo(DynamicMode.FULLY);
// Check an invalid value for disable_dynamic.
try {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
index dd81b92a5d..de8db5bc94 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java
@@ -35,7 +35,6 @@ import com.google.devtools.build.lib.rules.cpp.Link.LinkingMode;
import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.vfs.PathFragment;
-import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
@@ -412,18 +411,6 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
+ " mode: COVERAGE\n"
+ " }\n"
+ " # skip mode OPT to test handling its absence\n"
- + " lipo_mode_flags {"
- + " mode: OFF"
- + " compiler_flag: \"lipo_off\""
- + " cxx_flag: \"cxx-lipo_off\""
- + " linker_flag: \"linker-lipo_off\""
- + " }"
- + " lipo_mode_flags {"
- + " mode: BINARY"
- + " compiler_flag: \"lipo_binary\""
- + " cxx_flag: \"cxx-lipo_binary\""
- + " linker_flag: \"linker-lipo_binary\""
- + " }"
+ " linking_mode_flags {\n"
+ " mode: FULLY_STATIC\n"
+ " linker_flag: \"fully-static-flag-B-1\"\n"
@@ -529,11 +516,11 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
"solinker-flag-A-2")
.inOrder();
- // Only test a couple of compilation/lipo/linking mode combinations
+ // Only test a couple of compilation/linking mode combinations
// (but test each mode at least once.)
assertThat(
ccProviderA.configureAllLegacyLinkOptions(
- CompilationMode.FASTBUILD, LipoMode.OFF, LinkingMode.LEGACY_FULLY_STATIC))
+ CompilationMode.FASTBUILD, LinkingMode.LEGACY_FULLY_STATIC))
.containsExactly(
"linker-flag-A-1",
"linker-flag-A-2",
@@ -542,22 +529,20 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
"fully-static-flag-A-1",
"fully-static-flag-A-2")
.inOrder();
- assertThat(
- ccProviderA.configureAllLegacyLinkOptions(
- CompilationMode.DBG, LipoMode.OFF, LinkingMode.DYNAMIC))
+ assertThat(ccProviderA.configureAllLegacyLinkOptions(CompilationMode.DBG, LinkingMode.DYNAMIC))
.containsExactly(
"linker-flag-A-1", "linker-flag-A-2", "linker-dbg-flag-A-1", "linker-dbg-flag-A-2")
.inOrder();
assertThat(
ccProviderA.configureAllLegacyLinkOptions(
- CompilationMode.OPT, LipoMode.OFF, LinkingMode.LEGACY_FULLY_STATIC))
+ CompilationMode.OPT, LinkingMode.LEGACY_FULLY_STATIC))
.containsExactly(
"linker-flag-A-1", "linker-flag-A-2", "fully-static-flag-A-1", "fully-static-flag-A-2")
.inOrder();
assertThat(
ccProviderA.configureAllLegacyLinkOptions(
- CompilationMode.OPT, LipoMode.BINARY, LinkingMode.LEGACY_FULLY_STATIC))
+ CompilationMode.OPT, LinkingMode.LEGACY_FULLY_STATIC))
.containsExactly(
"linker-flag-A-1", "linker-flag-A-2", "fully-static-flag-A-1", "fully-static-flag-A-2")
.inOrder();
@@ -587,8 +572,8 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
// Cursory testing of the "B" toolchain only; assume that if none of
// toolchain B bled through into toolchain A, the reverse also didn't occur. And
// we test more of it with the "C" toolchain below.
- checkToolchainB(loader, LipoMode.OFF, "--cpu=k8", "--lipo=off");
- checkToolchainB(loader, LipoMode.BINARY, "--cpu=k8", "--lipo=binary", "--compilation_mode=opt");
+ checkToolchainB(loader, "--cpu=k8");
+ checkToolchainB(loader, "--cpu=k8", "--compilation_mode=opt");
// Make sure nothing bled through to the nearly-empty "C" toolchain. This is also testing for
// all the defaults.
@@ -625,15 +610,13 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
assertThat(CppHelper.getDynamicLinkOptions(toolchainC, ccProviderC, true)).isEmpty();
assertThat(
ccProviderC.configureAllLegacyLinkOptions(
- CompilationMode.FASTBUILD, LipoMode.OFF, LinkingMode.LEGACY_FULLY_STATIC))
+ CompilationMode.FASTBUILD, LinkingMode.LEGACY_FULLY_STATIC))
.isEmpty();
- assertThat(
- ccProviderC.configureAllLegacyLinkOptions(
- CompilationMode.DBG, LipoMode.OFF, LinkingMode.DYNAMIC))
+ assertThat(ccProviderC.configureAllLegacyLinkOptions(CompilationMode.DBG, LinkingMode.DYNAMIC))
.isEmpty();
assertThat(
ccProviderC.configureAllLegacyLinkOptions(
- CompilationMode.OPT, LipoMode.OFF, LinkingMode.LEGACY_FULLY_STATIC))
+ CompilationMode.OPT, LinkingMode.LEGACY_FULLY_STATIC))
.isEmpty();
assertThat(ccProviderC.getObjCopyOptionsForEmbedding()).isEmpty();
assertThat(ccProviderC.getLdOptionsForEmbedding()).isEmpty();
@@ -653,24 +636,16 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase {
return packageIdentifier.getPathUnderExecRoot();
}
- private void checkToolchainB(CppConfigurationLoader loader, LipoMode lipoMode, String... args)
- throws Exception {
- String lipoSuffix = lipoMode.toString().toLowerCase();
+ private void checkToolchainB(CppConfigurationLoader loader, String... args) throws Exception {
CppConfiguration toolchainB = create(loader, args);
CcToolchainProvider ccProviderB = getCcToolchainProvider(toolchainB);
assertThat(toolchainB.getToolchainIdentifier()).isEqualTo("toolchain-identifier-B");
- assertThat(
- ccProviderB.configureAllLegacyLinkOptions(
- CompilationMode.DBG, lipoMode, LinkingMode.DYNAMIC))
+ assertThat(ccProviderB.configureAllLegacyLinkOptions(CompilationMode.DBG, LinkingMode.DYNAMIC))
.containsExactly(
- "linker-flag-B-1",
- "linker-flag-B-2",
- "linker-dbg-flag-B-1",
- "linker-dbg-flag-B-2",
- "linker-lipo_" + lipoSuffix)
+ "linker-flag-B-1", "linker-flag-B-2", "linker-dbg-flag-B-1", "linker-dbg-flag-B-2")
.inOrder();
assertThat(ccProviderB.getLegacyCompileOptionsWithCopts())
- .containsAllOf("compiler-flag-B-1", "compiler-flag-B-2", "lipo_" + lipoSuffix)
+ .containsAllOf("compiler-flag-B-1", "compiler-flag-B-2")
.inOrder();
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LipoTransitionsTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LipoTransitionsTest.java
deleted file mode 100644
index 8c6b0583c2..0000000000
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LipoTransitionsTest.java
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright 2017 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.google.devtools.build.lib.rules.cpp;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.devtools.build.lib.analysis.config.BuildOptions;
-import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
-import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
-import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.rules.cpp.transitions.DisableLipoTransition;
-import com.google.devtools.build.lib.rules.cpp.transitions.LipoContextCollectorTransition;
-import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/**
- * Tests LIPO-related configuration transitions.
- **/
-@RunWith(JUnit4.class)
-public class LipoTransitionsTest extends BuildViewTestCase {
-
- private void useLipoOptimizationConfig() throws Exception {
- useConfiguration(
- "--compilation_mode=opt",
- "--fdo_optimize=profile.zip",
- "--lipo_context=//foo",
- "--lipo=binary");
- }
-
- private CppOptions doTransition(PatchTransition transition, BuildOptions fromOptions) {
- return transition.patch(fromOptions).get(CppOptions.class);
- }
-
- @Test
- public void expectedTargetConfig() throws Exception {
- useLipoOptimizationConfig();
- CppOptions targetOptions = getTargetConfiguration().getOptions().get(CppOptions.class);
- assertThat(targetOptions.isFdo()).isTrue();
- assertThat(targetOptions.isLipoOptimization()).isTrue();
- assertThat(targetOptions.isLipoOptimizationOrInstrumentation()).isTrue();
- assertThat(targetOptions.isLipoContextCollector()).isFalse();
- assertThat(targetOptions.getLipoContext()).isEqualTo(Label.parseAbsoluteUnchecked("//foo"));
- assertThat(targetOptions.getLipoContextForBuild())
- .isEqualTo(Label.parseAbsoluteUnchecked("//foo"));
- assertThat(targetOptions.getLipoMode()).isEqualTo(LipoMode.BINARY);
- }
-
- @Test
- public void disableLipoFromTargetConfig() throws Exception {
- useLipoOptimizationConfig();
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getTargetConfiguration().getOptions());
- assertThat(toOptions).isNotEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- assertThat(toOptions.isFdo()).isFalse();
- assertThat(toOptions.isLipoOptimization()).isFalse();
- assertThat(toOptions.isLipoOptimizationOrInstrumentation()).isFalse();
- assertThat(toOptions.isLipoContextCollector()).isFalse();
- assertThat(toOptions.getLipoContext()).isNull();
- assertThat(toOptions.getLipoContextForBuild()).isEqualTo(Label.parseAbsoluteUnchecked("//foo"));
- assertThat(toOptions.getLipoMode()).isEqualTo(LipoMode.OFF);
- }
-
- @Test
- public void disableLipoFromContextCollectorConfig() throws Exception {
- useLipoOptimizationConfig();
- BuildOptions contextCollectorOptions =
- LipoContextCollectorTransition.INSTANCE.patch(getTargetConfiguration().getOptions());
- CppOptions toOptions = doTransition(DisableLipoTransition.INSTANCE, contextCollectorOptions);
- assertThat(toOptions).isEqualTo(contextCollectorOptions.get(CppOptions.class));
- }
-
- @Test
- public void disableLipoFromAlreadyDisabledConfig() throws Exception {
- useLipoOptimizationConfig();
- BuildOptions dataOptions =
- DisableLipoTransition.INSTANCE.patch(getTargetConfiguration().getOptions());
- CppOptions toOptions = doTransition(DisableLipoTransition.INSTANCE, dataOptions);
- assertThat(toOptions).isEqualTo(dataOptions.get(CppOptions.class));
- }
-
- @Test
- public void disableLipoFromHostConfig() throws Exception {
- useLipoOptimizationConfig();
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getHostConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getHostConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void disableLipoNoFdoBuild() throws Exception {
- useConfiguration();
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void disableLipoFdoInstrumentBuild() throws Exception {
- useConfiguration("--fdo_instrument=profile.zip");
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void disableLipoFdoOptimizeBuild() throws Exception {
- useConfiguration("--fdo_optimize=profile.zip");
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void disableLipoLipoInstrumentBuild() throws Exception {
- useConfiguration("--fdo_instrument=profile.zip", "--lipo=binary", "--compilation_mode=opt");
- CppOptions toOptions =
- doTransition(DisableLipoTransition.INSTANCE, getTargetConfiguration().getOptions());
- assertThat(toOptions).isNotEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- assertThat(toOptions.isFdo()).isFalse();
- assertThat(toOptions.isLipoOptimization()).isFalse();
- assertThat(toOptions.isLipoOptimizationOrInstrumentation()).isFalse();
- assertThat(toOptions.isLipoContextCollector()).isFalse();
- assertThat(toOptions.getLipoContext()).isNull();
- assertThat(toOptions.getLipoContextForBuild()).isNull();
- assertThat(toOptions.getLipoMode()).isEqualTo(LipoMode.OFF);
- }
-
- @Test
- public void contextCollectorFromTargetConfig() throws Exception {
- useLipoOptimizationConfig();
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE,
- getTargetConfiguration().getOptions());
- assertThat(toOptions).isNotEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- assertThat(toOptions.isFdo()).isTrue();
- assertThat(toOptions.isLipoOptimization()).isFalse();
- assertThat(toOptions.isLipoOptimizationOrInstrumentation()).isFalse();
- assertThat(toOptions.isLipoContextCollector()).isTrue();
- assertThat(toOptions.getLipoContext()).isNull();
- assertThat(toOptions.getLipoContextForBuild()).isEqualTo(Label.parseAbsoluteUnchecked("//foo"));
- assertThat(toOptions.getLipoMode()).isEqualTo(LipoMode.BINARY);
- }
-
- @Test
- public void contextCollectorFromContextCollectorConfig() throws Exception {
- useLipoOptimizationConfig();
- BuildOptions contextCollectorOptions =
- LipoContextCollectorTransition.INSTANCE.patch(getTargetConfiguration().getOptions());
- CppOptions toOptions =
- doTransition(LipoContextCollectorTransition.INSTANCE, contextCollectorOptions);
- assertThat(toOptions).isEqualTo(contextCollectorOptions.get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorFromDataConfig() throws Exception {
- useLipoOptimizationConfig();
- BuildOptions dataOptions =
- DisableLipoTransition.INSTANCE.patch(getTargetConfiguration().getOptions());
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE, dataOptions);
- assertThat(toOptions).isEqualTo(dataOptions.get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorFromHostConfig() throws Exception {
- useLipoOptimizationConfig();
- CppOptions toOptions =
- doTransition(LipoContextCollectorTransition.INSTANCE, getHostConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getHostConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorNoFdoBuild() throws Exception {
- useConfiguration();
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE,
- getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorFdoInstrumentBuild() throws Exception {
- useConfiguration("--fdo_instrument=profile.zip");
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE,
- getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorFdoOptimizeBuild() throws Exception {
- useConfiguration("--fdo_optimize=profile.zip");
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE,
- getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-
- @Test
- public void contextCollectorLipoInstrumentBuild() throws Exception {
- useConfiguration("--fdo_instrument=profile.zip", "--lipo=binary", "--compilation_mode=opt");
- CppOptions toOptions = doTransition(LipoContextCollectorTransition.INSTANCE,
- getTargetConfiguration().getOptions());
- assertThat(toOptions).isEqualTo(getTargetConfiguration().getOptions().get(CppOptions.class));
- }
-}