aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-06-01 14:08:22 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-06-01 14:21:08 +0000
commit3be23361e3d5a8409628aeeff06ce6fa1793ec3d (patch)
tree0027354db2acc4362e4d7bac17ebe6f2de0154c4 /src/test/java/com/google/devtools/build/lib
parent74461cd76e7ac2a1e5bbce2bd6a5f715b212b823 (diff)
If an action_config is given for a particular type of link action, use that action_config to configure the build. Otherwise, revert to hard-coded behavior.
This change is designed to provide backwards-compatible support for crosstools that describe platform-specific linking semantics. -- MOS_MIGRATED_REVID=123748494
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
index 74ba8c565a..d88b9325f3 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java
@@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Action;
@@ -74,11 +75,18 @@ public class CppLinkActionTest extends BuildViewTestCase {
"feature {",
" name: 'a'",
" flag_set {",
- " action: 'c++-link'",
+ " action: '" + Link.LinkTargetType.EXECUTABLE.getActionName() + "'",
" flag_group { flag: 'some_flag' }",
" }",
+ "}",
+ "action_config {",
+ " config_name: '" + Link.LinkTargetType.EXECUTABLE.getActionName() + "'",
+ " action_name: '" + Link.LinkTargetType.EXECUTABLE.getActionName() + "'",
+ " tool {",
+ " tool_path: 'toolchain/mock_tool'",
+ " }",
"}")
- .getFeatureConfiguration("a");
+ .getFeatureConfiguration("a", Link.LinkTargetType.EXECUTABLE.getActionName());
CppLinkAction linkAction =
createLinkBuilder(
@@ -88,17 +96,18 @@ public class CppLinkActionTest extends BuildViewTestCase {
ImmutableList.<LibraryToLink>of(),
featureConfiguration)
.build();
+ assertThat(Joiner.on(" ").join(linkAction.getArgv())).contains("mock_tool");
assertThat(linkAction.getArgv()).contains("some_flag");
}
@Test
public void testToolchainFeatureEnv() throws Exception {
- FeatureConfiguration featureConfiguration =
+ FeatureConfiguration featureConfiguration =
CcToolchainFeaturesTest.buildFeatures(
"feature {",
" name: 'a'",
" env_set {",
- " action: 'c++-link'",
+ " action: '" + Link.LinkTargetType.EXECUTABLE.getActionName() + "'",
" env_entry { key: 'foo', value: 'bar' }",
" }",
"}")
@@ -186,7 +195,6 @@ public class CppLinkActionTest extends BuildViewTestCase {
(i & 1) == 0 ? ImmutableList.of(oFile) : ImmutableList.of(oFile2));
builder.setLinkType(
(i & 2) == 0 ? LinkTargetType.STATIC_LIBRARY : LinkTargetType.DYNAMIC_LIBRARY);
- builder.setFeatureConfiguration(new FeatureConfiguration());
return builder.build();
}
});