aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
diff options
context:
space:
mode:
authorGravatar Vladimir Moskva <vladmos@google.com>2016-09-29 13:05:48 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-09-30 08:11:31 +0000
commitb4ad154f86445a512b282b2f889729f815906a83 (patch)
tree7be835ddd855861ec378c35d91fa1e3801a66463 /src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
parent7de1f246b8cfe33bc848efce6eb5c8b41d937c91 (diff)
Fixed location expansion in cc rules.
-- MOS_MIGRATED_REVID=134652924
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
index 1fab14fa9b..da6e3b7267 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java
@@ -35,6 +35,7 @@ import com.google.devtools.build.lib.analysis.util.AnalysisMock;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
+import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.testutil.MoreAsserts;
@@ -794,6 +795,24 @@ public class CcCommonTest extends BuildViewTestCase {
"cc_library(name='b', srcs=['b.cc'])");
}
+ @Test
+ public void testExpandedLinkopts() throws Exception {
+ scratch.file(
+ "a/BUILD",
+ "genrule(name = 'linker', cmd='generate', outs=['a.lds'])",
+ "cc_binary(",
+ " name='bin',",
+ " srcs=['b.cc'],",
+ " linkopts=['-Wl,@$(location a.lds)'],",
+ " deps=['a.lds'])");
+ ConfiguredTarget target = getConfiguredTarget("//a:bin");
+ CppLinkAction action =
+ (CppLinkAction) getGeneratingAction(getOnlyElement(getFilesToBuild(target)));
+ assertThat(action.getLinkCommandLine().getLinkopts()).containsExactly(
+ String.format("-Wl,@%s/genfiles/a/a.lds", getTargetConfiguration().getOutputDirectory(
+ RepositoryName.MAIN).getExecPath().getPathString()));
+ }
+
@RunWith(JUnit4.class)
public static class OnlyCppRules extends CcCommonTest {
@Override