aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google
diff options
context:
space:
mode:
authorGravatar kaipi <kaipi@google.com>2017-08-08 16:33:44 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-08-09 11:33:20 +0200
commit21436e062a12b64c8bee665b0cf79dfe48cff114 (patch)
treee61c386131d6f584c1c4e9b304218e57a346c14c /src/test/java/com/google
parentd3dfa59ce0a17d15280f1b92e5d41251250d5b91 (diff)
Stop transitively propagating headers transitively for ObjC protos.
PiperOrigin-RevId: 164590595
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
index a2689cd8fc..2cce528ad9 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
@@ -820,6 +820,24 @@ public class ObjcProtoLibraryTest extends ObjcRuleTestCase {
}
@Test
+ public void testProtobufPropagatesHeadersAndIncludesOnlyToDirectDependents() throws Exception {
+ ConfiguredTarget target = getConfiguredTarget("//package:opl_protobuf");
+ Artifact headerFile =
+ ActionsTestUtil.getFirstArtifactEndingWith(getFilesToBuild(target), "/FileA.pbobjc.h");
+
+ ObjcProvider transitiveProvider = providerForTarget("//package:non_strict_lib");
+ ObjcProvider directProvider = providerForTarget("//package:strict_lib");
+
+ assertThat(directProvider.get(ObjcProvider.INCLUDE).toSet())
+ .contains(headerFile.getExecPath().getParentDirectory().getParentDirectory());
+ assertThat(transitiveProvider.get(ObjcProvider.INCLUDE).toSet())
+ .doesNotContain(headerFile.getExecPath().getParentDirectory().getParentDirectory());
+
+ assertThat(directProvider.get(ObjcProvider.HEADER).toSet()).contains(headerFile);
+ assertThat(transitiveProvider.get(ObjcProvider.HEADER).toSet()).doesNotContain(headerFile);
+ }
+
+ @Test
public void testCompilationActionInCoverageMode() throws Exception {
useConfiguration("--collect_code_coverage");