diff options
author | 2017-07-13 01:20:20 +0200 | |
---|---|---|
committer | 2017-07-13 09:57:05 +0200 | |
commit | 05370cda96765a18986538d17ff2e07e4a5935ce (patch) | |
tree | ae60f57e435631fa03fb4905acd47dd2be7be346 /src/test/java/com/google/devtools/build/lib/rules/objc | |
parent | 106fa1e01ea58867cbbed98f29bc2f71713bb008 (diff) |
Add ObjcProvider.LINK_INPUTS as inputs to CROSSTOOL link actions.
RELNOTES: None.
PiperOrigin-RevId: 161734511
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/objc')
3 files changed, 40 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java index d387743cc5..90f42a89f8 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java @@ -861,6 +861,11 @@ public class AppleBinaryTest extends ObjcRuleTestCase { } @Test + public void testObjcProviderLinkInputsInLinkAction() throws Exception { + checkObjcProviderLinkInputsInLinkAction(RULE_TYPE); + } + + @Test public void testAppleSdkVersionEnv() throws Exception { checkAppleSdkVersionEnv(RULE_TYPE); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleDynamicLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleDynamicLibraryTest.java index 3feec504a3..f128dde240 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleDynamicLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleDynamicLibraryTest.java @@ -88,6 +88,12 @@ public class AppleDynamicLibraryTest extends ObjcRuleTestCase { } @Test + public void testObjcProviderLinkInputsInLinkAction() throws Exception { + checkObjcProviderLinkInputsInLinkAction(RULE_TYPE); + } + + + @Test public void testAppleSdkVersionEnv() throws Exception { checkAppleSdkVersionEnv(RULE_TYPE); } diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java index 794e8404d3..005c4ee927 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java @@ -4459,6 +4459,35 @@ public abstract class ObjcRuleTestCase extends BuildViewTestCase { .contains("-another-opt -Wl,--other-opt -one-more-opt"); } + protected void checkObjcProviderLinkInputsInLinkAction(RuleType ruleType) throws Exception { + useConfiguration("--experimental_disable_jvm", "--cpu=ios_i386"); + + scratch.file("bin/defs.bzl", + "def _custom_rule_impl(ctx):", + " return struct(objc=apple_common.new_objc_provider(", + " link_inputs=depset(ctx.files.link_inputs)))", + "custom_rule = rule(", + " _custom_rule_impl,", + " attrs={'link_inputs': attr.label_list(allow_files=True)},", + ")"); + + scratch.file("bin/input.txt"); + + scratch.file("bin/BUILD", + "load('//bin:defs.bzl', 'custom_rule')", + "custom_rule(", + " name = 'custom',", + " link_inputs = ['input.txt'],", + ")"); + + ruleType.scratchTarget(scratch, + "srcs", "['main.m']", + "deps", "['//bin:custom']"); + + Artifact inputFile = getSourceArtifact("bin/input.txt"); + assertThat(linkAction("//x").getInputs()).contains(inputFile); + } + protected void checkAppleSdkVersionEnv(RuleType ruleType) throws Exception { ruleType.scratchTarget(scratch); |