aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-10-11 16:18:56 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-11 18:11:59 +0200
commit3d0ade5e635a1e5a21babff29ff7f9c0b07cebdf (patch)
treeddbc5814efa243c34174874a9de61a68c206ab55 /src/test/java/com/google/devtools/build/lib/rules
parent0cb8d403acdbdd8f3adb08634760ddb7fac666f1 (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')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSelectionTest.java31
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java2
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"));
}