aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java1
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewForTesting.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java23
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java116
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java4
-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
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java1
13 files changed, 46 insertions, 466 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
index 9e39932022..cda90b9eb7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
@@ -486,7 +486,6 @@ public class BuildConfigurationTest extends ConfigurationTestCase {
*/
private static void verifyDeserialized(
BuildConfiguration subject, BuildConfiguration deserialized) {
- assertThat(deserialized.isActionsEnabled()).isEqualTo(subject.isActionsEnabled());
assertThat(deserialized.getOptions()).isEqualTo(subject.getOptions());
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewForTesting.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewForTesting.java
index 6706dc371b..5fcae537c2 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewForTesting.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewForTesting.java
@@ -463,8 +463,7 @@ public class BuildViewForTesting {
/*isSystemEnv=*/ false,
targetConfig.extendedSanityChecks(),
eventHandler,
- /*env=*/ null,
- targetConfig.isActionsEnabled());
+ /*env=*/ null);
return getRuleContextForTesting(eventHandler, target, env, configurations);
}
@@ -507,7 +506,6 @@ public class BuildViewForTesting {
ImmutableList.of(),
targetConfig,
configurations.getHostConfiguration(),
- ruleClassProvider.getLipoDataTransition(),
ruleClassProvider.getPrerequisiteValidator(),
((Rule) target).getRuleClassObject().getConfigurationFragmentPolicy())
.setVisibility(
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 cc16cd4d4f..35ea7ef7ae 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
@@ -529,8 +529,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
/*isSystemEnv=*/ true, /*extendedSanityChecks*/
false,
reporter,
- /* env= */ null,
- /* allowRegisteringActions= */ true);
+ /* env= */ null);
}
/**
@@ -1646,11 +1645,6 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
return Iterables.getOnlyElement(masterConfig.getTargetConfigurations());
}
- protected BuildConfiguration getDataConfiguration() throws InterruptedException {
- return getConfiguration(getTargetConfiguration(),
- getRuleClassProvider().getLipoDataTransition());
- }
-
protected BuildConfiguration getHostConfiguration() {
return masterConfig.getHostConfiguration();
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
index 4899920f02..fb61a6e841 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
@@ -209,16 +209,19 @@ public abstract class ConfigurationTestCase extends FoundationTestCase {
BuildConfigurationCollection configCollection) throws Exception {
Map<ArtifactRoot, BuildConfiguration> outputPaths = new HashMap<>();
for (BuildConfiguration config : configCollection.getTargetConfigurations()) {
- if (config.isActionsEnabled()) {
- BuildConfiguration otherConfig = outputPaths.get(
- config.getOutputDirectory(RepositoryName.MAIN));
- if (otherConfig != null) {
- throw new IllegalStateException("The output path '"
- + config.getOutputDirectory(RepositoryName.MAIN)
- + "' is the same for configurations '" + config + "' and '" + otherConfig + "'");
- } else {
- outputPaths.put(config.getOutputDirectory(RepositoryName.MAIN), config);
- }
+ BuildConfiguration otherConfig =
+ outputPaths.get(config.getOutputDirectory(RepositoryName.MAIN));
+ if (otherConfig != null) {
+ throw new IllegalStateException(
+ "The output path '"
+ + config.getOutputDirectory(RepositoryName.MAIN)
+ + "' is the same for configurations '"
+ + config
+ + "' and '"
+ + otherConfig
+ + "'");
+ } else {
+ outputPaths.put(config.getOutputDirectory(RepositoryName.MAIN), config);
}
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
index d18897217c..619384c66d 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProviderTest.java
@@ -31,7 +31,6 @@ import com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider.StrictAc
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.rules.config.ConfigRules;
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.repository.CoreWorkspaceRules;
import com.google.devtools.build.lib.util.OS;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -74,7 +73,6 @@ public class BazelRuleClassProviderTest {
ConfiguredRuleClassProvider.Builder builder = new ConfiguredRuleClassProvider.Builder();
builder.setToolsRepository(BazelRuleClassProvider.TOOLS_REPOSITORY);
Set<RuleSet> result = new HashSet<>();
- result.add(LipoDataTransitionRuleSet.INSTANCE);
result.add(BazelRuleClassProvider.BAZEL_SETUP);
collectTransitiveClosure(result, top);
for (RuleSet module : result) {
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
index 994888265c..155ab5d85e 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java
@@ -311,11 +311,6 @@ public final class BazelMockCcSupport extends MockCcSupport {
}
@Override
- public String getMockLibcPath() {
- return "tools/cpp/libc";
- }
-
- @Override
public String getMockCrosstoolPath() {
return "/bazel_tools_workspace/tools/cpp/";
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
index fa2def79e5..6e22abb3fc 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java
@@ -39,65 +39,6 @@ import java.io.IOException;
*/
public abstract class MockCcSupport {
- /**
- * Builder to build crosstool files for unit testing.
- */
- public static final class CrosstoolBuilder {
- public static final String DEFAULT_TARGET_CPU = "k8";
- public static final String MAJOR_VERSION = "13";
- public static final String MINOR_VERSION = "0";
-
- private final CrosstoolConfig.CrosstoolRelease.Builder builder =
- CrosstoolConfig.CrosstoolRelease.newBuilder()
- .setMajorVersion(MAJOR_VERSION)
- .setMinorVersion(MINOR_VERSION)
- .setDefaultTargetCpu(DEFAULT_TARGET_CPU);
-
- /** Adds a default toolchain in the order of the calls. */
- public CrosstoolBuilder addDefaultToolchain(String cpu, String toolchainIdentifier) {
- builder.addDefaultToolchainBuilder().setCpu(cpu).setToolchainIdentifier(toolchainIdentifier);
- return this;
- }
-
- /** Adds a toolchain where all required fields are set. */
- public CrosstoolBuilder addToolchain(String cpu, String toolchainIdentifier, String compiler) {
- builder
- .addToolchainBuilder()
- .setTargetCpu(cpu)
- .setToolchainIdentifier(toolchainIdentifier)
- .setHostSystemName("host-system-name")
- .setTargetSystemName("target-system-name")
- .setTargetLibc("target-libc")
- .setCompiler(compiler)
- .setAbiVersion("abi-version")
- .setAbiLibcVersion("abi-libc-version")
- // TODO(klimek): Move to features.
- .setSupportsStartEndLib(true);
- return this;
- }
-
- /** Appends the snippet {@code configuration} to all previously added toolchains. */
- public CrosstoolBuilder appendToAllToolchains(CToolchain configuration) {
- for (CToolchain.Builder toolchainBuilder : builder.getToolchainBuilderList()) {
- toolchainBuilder.mergeFrom(configuration);
- }
- return this;
- }
-
- /** Appends the snippet {@code configuration} to all previously added toolchains. */
- public CrosstoolBuilder appendToAllToolchains(String... configuration) throws IOException {
- CToolchain.Builder toolchainBuilder = CToolchain.newBuilder();
- TextFormat.merge(Joiner.on("\n").join(configuration), toolchainBuilder);
- appendToAllToolchains(toolchainBuilder.buildPartial());
- return this;
- }
-
- /** Returns the text proto containing the crosstool. */
- public String build() {
- return TextFormat.printToString(builder.build());
- }
- }
-
/** Filter to remove implicit crosstool artifact and module map inputs of C/C++ rules. */
public static final Predicate<Artifact> CC_ARTIFACT_FILTER =
new Predicate<Artifact>() {
@@ -669,61 +610,6 @@ public abstract class MockCcSupport {
createCrosstoolPackage(config, false, true, null, null, crosstool);
}
- /**
- * Create a new crosstool configuration specified by {@code builder}.
- *
- * <p>If used from a {@code BuildViewTestCase}, make sure to call {@code
- * BuildViewTestCase.invalidatePackages} after calling this method to force re-loading of the
- * crosstool's BUILD files.
- */
- public void setupCrosstoolFromScratch(MockToolsConfig config, CrosstoolBuilder builder)
- throws IOException {
- if (config.isRealFileSystem()) {
- throw new RuntimeException(
- "Cannot use setupCrosstoolFromScratch when config.isRealFileSystem() is true; "
- + "use this function only for unit tests.");
- }
- // TODO(klimek): Get the version information from the crosstool builder and set up the
- // crosstool with that information.
- createCrosstoolPackage(
- config,
- /*addEmbeddedRuntimes=*/ false,
- /*addModuleMap=*/ true,
- null,
- null,
- builder.build());
- }
-
- protected static void createToolsCppPackage(MockToolsConfig config) throws IOException {
- config.create(
- "tools/cpp/BUILD",
- "package(default_visibility = ['//visibility:public'])",
- "toolchain_type(name = 'toolchain_type')",
- "cc_library(name = 'stl')",
- "alias(name='toolchain', actual='//third_party/crosstool')",
- "cc_library(name = 'malloc')",
- "filegroup(",
- " name = 'interface_library_builder',",
- " srcs = ['build_interface_so'],",
- ")",
- "filegroup(",
- " name = 'link_dynamic_library',",
- " srcs = ['link_dynamic_library.sh'],",
- ")",
- "exports_files(['grep-includes'])");
- if (config.isRealFileSystem()) {
- config.linkTool("tools/cpp/link_dynamic_library.sh");
- config.linkTool("tools/cpp/build_interface_so");
- config.linkTool("tools/cpp/grep-includes");
- config.linkTool("tools/build_defs/cc/action_names.bzl");
- } else {
- config.create("tools/cpp/link_dynamic_library.sh", "");
- config.create("tools/cpp/build_interface_so", "");
- config.create("tools/cpp/grep-includes", "");
- config.linkTool("tools/build_defs/cc/action_names.bzl", "");
- }
- }
-
protected void createCrosstoolPackage(MockToolsConfig config, boolean addEmbeddedRuntimes)
throws IOException {
createCrosstoolPackage(config, addEmbeddedRuntimes, /*addModuleMap=*/ true, null, null);
@@ -812,8 +698,6 @@ public abstract class MockCcSupport {
public abstract String readCrosstoolFile() throws IOException;
- public abstract String getMockLibcPath();
-
protected abstract ImmutableList<String> getCrosstoolArchs();
protected abstract String[] getRealFilesystemTools(String crosstoolTop);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
index d045a2cb95..bbba98891a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
@@ -220,7 +220,6 @@ public abstract class ResourceTestBase extends AndroidBuildViewTestCase {
RuleContext dummy = getRuleContext(dummyTarget);
ExtendedEventHandler eventHandler = new StoredEventHandler();
- assertThat(targetConfig.isActionsEnabled()).isTrue();
return view.getRuleContextForTesting(
eventHandler,
dummyTarget,
@@ -231,8 +230,7 @@ public abstract class ResourceTestBase extends AndroidBuildViewTestCase {
/*isSystemEnv=*/ false,
targetConfig.extendedSanityChecks(),
eventHandler,
- null,
- targetConfig.isActionsEnabled()),
+ null),
new BuildConfigurationCollection(
ImmutableList.of(dummy.getConfiguration()), dummy.getHostConfiguration()));
}
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));
- }
-}
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java b/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
index b4a35eac20..21ef3d98bf 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/util/SkylarkTestCase.java
@@ -83,7 +83,6 @@ public abstract class SkylarkTestCase extends BuildViewTestCase {
// create rules. Creating actual rules is tested in SkylarkIntegrationTest.
new PackageContext(null, null, getEventHandler(), null));
SkylarkUtils.setToolsRepository(env, TestConstants.TOOLS_REPOSITORY);
- SkylarkUtils.setLipoDataTransition(env, ruleClassProvider.getLipoDataTransition());
return env;
}
};