aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar rosica <rosica@google.com>2018-08-07 04:40:40 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-07 04:42:01 -0700
commit473ea10c0dc76f3760f4f4afd3adb3b40b40abdb (patch)
treea48ecdbb3fc87012d98111e6e753d6c79fcf5888 /src/test/java/com/google/devtools/build
parent6eefeb04b900be29d96a87dcdc3938151d98d9bf (diff)
Pass cc_toolchain location to FeatureConfiguration
Paths to tools in CROSSTOOL are either absolute or relative to the CROSSTOOL location (which is the same as cc_toolchain location). As in the future CROSSTOOL will be gone, and the new skylark rule that will replace CROSSTOOL will not have to be in the same location as cc_toolchain, we need to pass information to FeatureConfiguration about the location of the cc_toolchain in use, so we can calculate the workspace relative paths to the tools. RELNOTES: None. PiperOrigin-RevId: 207695703
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java37
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTestCase.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java6
3 files changed, 24 insertions, 24 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
index 965a4a56c6..c3b6082f4e 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeaturesTest.java
@@ -95,9 +95,18 @@ public class CcToolchainFeaturesTest extends FoundationTestCase {
TextFormat.merge(Joiner.on("").join(toolchain), toolchainBuilder);
return new CcToolchainFeatures(
CcToolchainConfigInfo.fromToolchain(
- CrosstoolRelease.getDefaultInstance(),
- toolchainBuilder.buildPartial(),
- PathFragment.create("crosstool/")));
+ CrosstoolRelease.getDefaultInstance(), toolchainBuilder.buildPartial()),
+ PathFragment.create("crosstool/"));
+ }
+
+ /** Creates an empty CcToolchainFeatures. */
+ public static CcToolchainFeatures buildEmptyFeatures(String... toolchain) throws Exception {
+ CToolchain.Builder toolchainBuilder = CToolchain.newBuilder();
+ TextFormat.merge(Joiner.on("").join(toolchain), toolchainBuilder);
+ return new CcToolchainFeatures(
+ CcToolchainConfigInfo.fromToolchain(
+ CrosstoolRelease.getDefaultInstance(), toolchainBuilder.buildPartial()),
+ PathFragment.EMPTY_FRAGMENT);
}
private Set<String> getEnabledFeatures(CcToolchainFeatures features,
@@ -127,7 +136,7 @@ public class CcToolchainFeaturesTest extends FoundationTestCase {
@Test
public void testFeatureConfigurationCodec() throws Exception {
FeatureConfiguration emptyConfiguration =
- buildFeatures("").getFeatureConfiguration(ImmutableSet.of());
+ buildEmptyFeatures("").getFeatureConfiguration(ImmutableSet.of());
FeatureConfiguration emptyFeatures =
buildFeatures("feature {name: 'a'}", "feature {name: 'b'}")
.getFeatureConfiguration(ImmutableSet.of("a", "b"));
@@ -1432,8 +1441,7 @@ public class CcToolchainFeaturesTest extends FoundationTestCase {
" implies: 'action-a'",
"}")
.getFeatureConfiguration(ImmutableSet.of("activates-action-a"));
- PathFragment toolPath = configuration.getToolForAction("action-a").getToolPathFragment();
- assertThat(toolPath.toString()).isEqualTo("crosstool/toolchain/a");
+ assertThat(configuration.getToolPathForAction("action-a")).isEqualTo("crosstool/toolchain/a");
}
@Test
@@ -1483,39 +1491,36 @@ public class CcToolchainFeaturesTest extends FoundationTestCase {
FeatureConfiguration featureAConfiguration =
toolchainFeatures.getFeatureConfiguration(
ImmutableSet.of("feature-a", "activates-action-a"));
- assertThat(featureAConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(featureAConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/feature-a-and-not-c");
FeatureConfiguration featureAAndCConfiguration =
toolchainFeatures.getFeatureConfiguration(
ImmutableSet.of("feature-a", "feature-c", "activates-action-a"));
- assertThat(
- featureAAndCConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(featureAAndCConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/feature-b-or-c");
FeatureConfiguration featureBConfiguration =
toolchainFeatures.getFeatureConfiguration(
ImmutableSet.of("feature-b", "activates-action-a"));
- assertThat(featureBConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(featureBConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/feature-b-or-c");
FeatureConfiguration featureCConfiguration =
toolchainFeatures.getFeatureConfiguration(
ImmutableSet.of("feature-c", "activates-action-a"));
- assertThat(featureCConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(featureCConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/feature-b-or-c");
FeatureConfiguration featureAAndBConfiguration =
toolchainFeatures.getFeatureConfiguration(
ImmutableSet.of("feature-a", "feature-b", "activates-action-a"));
- assertThat(
- featureAAndBConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(featureAAndBConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/features-a-and-b");
FeatureConfiguration noFeaturesConfiguration =
toolchainFeatures.getFeatureConfiguration(ImmutableSet.of("activates-action-a"));
- assertThat(
- noFeaturesConfiguration.getToolForAction("action-a").getToolPathFragment().toString())
+ assertThat(noFeaturesConfiguration.getToolPathForAction("action-a"))
.isEqualTo("crosstool/toolchain/default");
}
@@ -1543,7 +1548,7 @@ public class CcToolchainFeaturesTest extends FoundationTestCase {
toolchainFeatures.getFeatureConfiguration(ImmutableSet.of("activates-action-a"));
try {
- noFeaturesConfiguration.getToolForAction("action-a").getToolPathFragment();
+ noFeaturesConfiguration.getToolPathForAction("action-a");
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) {
assertThat(e)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTestCase.java
index 7d780edc46..ba9c7b9436 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTestCase.java
@@ -74,9 +74,8 @@ public class LinkBuildVariablesTestCase extends BuildViewTestCase {
TextFormat.merge(Joiner.on("").join(toolchain), toolchainBuilder);
return new CcToolchainFeatures(
CcToolchainConfigInfo.fromToolchain(
- CrosstoolRelease.getDefaultInstance(),
- toolchainBuilder.buildPartial(),
- /* crosstoolTop= */ PathFragment.EMPTY_FRAGMENT));
+ CrosstoolRelease.getDefaultInstance(), toolchainBuilder.buildPartial()),
+ /* ccToolchainPath= */ PathFragment.EMPTY_FRAGMENT);
}
/** Returns the value of a given sequence variable in context of the given Variables instance. */
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 889e788d18..7f688bf16e 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -86,11 +86,7 @@ public class SkylarkCcCommonTest extends BuildViewTestCase {
CcCommon.configureFeaturesOrThrowEvalException(
ImmutableSet.of(), ImmutableSet.of(), toolchain);
assertThat(actionToolPath)
- .isEqualTo(
- featureConfiguration
- .getToolForAction(CppActionNames.CPP_COMPILE)
- .getToolPathFragment()
- .getPathString());
+ .isEqualTo(featureConfiguration.getToolPathForAction(CppActionNames.CPP_COMPILE));
}
@Test