aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar allevato <allevato@google.com>2017-07-13 01:20:20 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-13 09:57:05 +0200
commit05370cda96765a18986538d17ff2e07e4a5935ce (patch)
treeae60f57e435631fa03fb4905acd47dd2be7be346 /src/test/java/com/google/devtools/build/lib/rules/objc
parent106fa1e01ea58867cbbed98f29bc2f71713bb008 (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')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java5
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/AppleDynamicLibraryTest.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java29
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);