diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/cpp')
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)); - } -} |