diff options
author | 2017-10-11 16:18:56 +0200 | |
---|---|---|
committer | 2017-10-11 18:11:59 +0200 | |
commit | 3d0ade5e635a1e5a21babff29ff7f9c0b07cebdf (patch) | |
tree | ddbc5814efa243c34174874a9de61a68c206ab55 /src/test/java/com/google/devtools/build/lib/rules | |
parent | 0cb8d403acdbdd8f3adb08634760ddb7fac666f1 (diff) |
Migrate usage of CppConfiguration#getToolPathFragment and
CppConfiguration#getLdExecutable to CcToolchainProvider.
PiperOrigin-RevId: 171818406
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules')
3 files changed, 34 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java index 89d0cbc8f0..0c8aba50a7 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java @@ -38,6 +38,7 @@ public class CcToolchainProviderTest { new CcToolchainProvider( null, null, + null, NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), @@ -69,6 +70,7 @@ public class CcToolchainProviderTest { new CcToolchainProvider( null, null, + null, NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER), diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java index 8bb82384b8..f5f22a229b 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java @@ -24,9 +24,11 @@ import com.google.devtools.build.lib.analysis.platform.ToolchainInfo; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.analysis.util.ScratchAttributeWriter; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.packages.util.MockCcSupport; import com.google.devtools.build.lib.packages.util.MockPlatformSupport; import com.google.devtools.build.lib.testutil.MoreAsserts; import com.google.devtools.build.lib.testutil.TestConstants; +import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.ToolPath; import java.util.List; import org.junit.Before; import org.junit.Test; @@ -166,4 +168,33 @@ public class CcToolchainSelectionTest extends BuildViewTestCase { .hasMessageThat() .contains("Using cc_toolchain target requires the attribute 'compiler' to be present"); } + + @Test + public void testToolPaths() throws Exception { + String originalCrosstool = analysisMock.ccSupport().readCrosstoolFile(); + String crosstoolWithPiiiLd = + MockCcSupport.applyToToolchain( + originalCrosstool, + "piii", + t -> t.addToolPath(ToolPath.newBuilder().setName("ld").setPath("piii-ld").build())); + + getAnalysisMock().ccSupport().setupCrosstoolWithRelease(mockToolsConfig, crosstoolWithPiiiLd); + + useConfiguration( + "--enabled_toolchain_types=" + CPP_TOOLCHAIN_TYPE, + "--experimental_platforms=//mock_platform:mock-piii-platform", + "--extra_toolchains=//mock_platform:toolchain_cc-compiler-piii"); + ConfiguredTarget target = + ScratchAttributeWriter.fromLabelString(this, "cc_library", "//lib") + .setList("srcs", "a.cc") + .write(); + ResolvedToolchainProviders providers = + (ResolvedToolchainProviders) + getRuleContext(target).getToolchainContext().getResolvedToolchainProviders(); + CcToolchainProvider toolchain = + (CcToolchainProvider) + providers.getForToolchainType(Label.parseAbsolute(CPP_TOOLCHAIN_TYPE)); + assertThat(toolchain.getToolPathFragment(CppConfiguration.Tool.LD).toString()) + .contains("piii-ld"); + } } 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 84fe3c9d26..73d031acf7 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 @@ -239,7 +239,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { "CC_FLAGS", "") .entrySet()); - assertThat(toolchain.getLdExecutable()).isEqualTo(getToolPath("/path-to-ld")); + assertThat(toolchain.getToolPathFragment(Tool.LD)).isEqualTo(getToolPath("/path-to-ld")); assertThat(toolchain.getToolPathFragment(Tool.DWP)).isEqualTo(getToolPath("/path-to-dwp")); } |