diff options
author | kaipi <kaipi@google.com> | 2017-08-08 16:33:44 +0200 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-08-09 11:33:20 +0200 |
commit | 21436e062a12b64c8bee665b0cf79dfe48cff114 (patch) | |
tree | e61c386131d6f584c1c4e9b304218e57a346c14c /src/test/java/com/google | |
parent | d3dfa59ce0a17d15280f1b92e5d41251250d5b91 (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.java | 18 |
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"); |