diff options
author | Vladimir Moskva <vladmos@google.com> | 2016-09-29 13:05:48 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-09-30 08:11:31 +0000 |
commit | b4ad154f86445a512b282b2f889729f815906a83 (patch) | |
tree | 7be835ddd855861ec378c35d91fa1e3801a66463 /src/test/java/com/google/devtools/build/lib/rules/cpp/CcCommonTest.java | |
parent | 7de1f246b8cfe33bc848efce6eb5c8b41d937c91 (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.java | 19 |
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 |