diff options
author | 2016-06-01 14:08:22 +0000 | |
---|---|---|
committer | 2016-06-01 14:21:08 +0000 | |
commit | 3be23361e3d5a8409628aeeff06ce6fa1793ec3d (patch) | |
tree | 0027354db2acc4362e4d7bac17ebe6f2de0154c4 /src/test/java | |
parent | 74461cd76e7ac2a1e5bbce2bd6a5f715b212b823 (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')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java | 18 |
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(); } }); |