diff options
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java | 63 |
1 files changed, 50 insertions, 13 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java b/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java index 649eed1bf4..2aef6469f8 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/ToolchainTypeTest.java @@ -19,7 +19,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.TemplateVariableInfo; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.analysis.util.ScratchAttributeWriter; -import com.google.devtools.build.lib.packages.util.MockPlatformSupport; import com.google.devtools.build.lib.rules.cpp.CppCompileAction; import com.google.devtools.build.lib.testutil.TestConstants; import org.junit.Test; @@ -34,8 +33,7 @@ public class ToolchainTypeTest extends BuildViewTestCase { public void testSmoke() throws Exception { ConfiguredTarget cc = getConfiguredTarget(TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type"); - assertThat(cc.get(TemplateVariableInfo.PROVIDER).getVariables()) - .containsKey("TARGET_CPU"); + assertThat(cc.get(TemplateVariableInfo.PROVIDER).getVariables()).containsKey("CC_FLAGS"); } @Test @@ -47,42 +45,81 @@ public class ToolchainTypeTest extends BuildViewTestCase { @Test public void testCcTargetsDependOnCcToolchainAutomatically() throws Exception { - MockPlatformSupport.addMockPiiiPlatform( - mockToolsConfig, analysisMock.ccSupport().getMockCrosstoolLabel()); + scratch.file( + "a/BUILD", + "filegroup(", + " name='empty')", + "package(default_visibility=['//visibility:public'])", + "constraint_setting(name = 'mock_setting')", + "constraint_value(name = 'mock_value', constraint_setting = ':mock_setting')", + "platform(", + " name = 'mock-platform',", + " constraint_values = [':mock_value'],", + ")", + "cc_toolchain(", + " name = 'b',", + " cpu = 'banana',", + " all_files = ':empty',", + " 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'],", + " proto='''", + " toolchain_identifier: 'banana'", + " abi_version: 'banana'", + " abi_libc_version: 'banana'", + " compiler: 'banana'", + " host_system_name: 'banana'", + " target_system_name: 'banana'", + " target_cpu: 'banana'", + " target_libc: 'banana'", + " ''')", + "toolchain(", + " name = 'toolchain_b',", + " toolchain_type = '" + TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type',", + " toolchain = ':b',", + " target_compatible_with = [':mock_value'],", + ")"); + useConfiguration( "--enabled_toolchain_types=" + TestConstants.TOOLS_REPOSITORY + "//tools/cpp:toolchain_type", - "--experimental_platforms=//mock_platform:mock-piii-platform", - "--extra_toolchains=//mock_platform:toolchain_cc-compiler-piii", + "--experimental_platforms=//a:mock-platform", + "--extra_toolchains=//a:toolchain_b", "--make_variables_source=toolchain"); // for cc_library, cc_binary, and cc_test, we check that $(TARGET_CPU) is a valid Make variable ConfiguredTarget cclibrary = ScratchAttributeWriter.fromLabelString(this, "cc_library", "//cclib") .setList("srcs", "a.cc") - .setList("copts", "foobar$(TARGET_CPU)") + .setList("copts", "foobar-$(ABI)") .write(); CppCompileAction compileAction = (CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cclib/cclib/a.o", cclibrary)); - assertThat(compileAction.getArguments()).contains("foobarpiii"); + assertThat(compileAction.getArguments()).contains("foobar-banana"); ConfiguredTarget ccbinary = ScratchAttributeWriter.fromLabelString(this, "cc_binary", "//ccbin") .setList("srcs", "a.cc") - .setList("copts", "foobar$(TARGET_CPU)") + .setList("copts", "foobar-$(ABI)") .write(); compileAction = (CppCompileAction) getGeneratingAction(getBinArtifact("_objs/ccbin/ccbin/a.o", ccbinary)); - assertThat(compileAction.getArguments()).contains("foobarpiii"); + assertThat(compileAction.getArguments()).contains("foobar-banana"); ConfiguredTarget cctest = ScratchAttributeWriter.fromLabelString(this, "cc_test", "//cctest") .setList("srcs", "a.cc") - .setList("copts", "foobar$(TARGET_CPU)") + .setList("copts", "foobar-$(ABI)") .write(); compileAction = (CppCompileAction) getGeneratingAction(getBinArtifact("_objs/cctest/cctest/a.o", cctest)); - assertThat(compileAction.getArguments()).contains("foobarpiii"); + assertThat(compileAction.getArguments()).contains("foobar-banana"); } } |