diff options
author | plf <plf@google.com> | 2017-08-31 19:24:14 +0200 |
---|---|---|
committer | Vladimir Moskva <vladmos@google.com> | 2017-09-01 12:27:43 +0200 |
commit | ca58a3e431b003bde02be043bfca74226ac4a238 (patch) | |
tree | d232bab0fde07fdf534d64bace5e9fdfc831baa3 /src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java | |
parent | 9d9e1a7f11d68680c87aefd16ac26ad6af4fd94c (diff) |
Automated rollback of commit fc41c430e4de4594a1d699f573d191cbad52a2fb.
PiperOrigin-RevId: 167154793
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java index 074a556097..3f0afa9743 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java @@ -1566,4 +1566,45 @@ public class ObjcLibraryTest extends ObjcRuleTestCase { public void testCustomModuleMap() throws Exception { checkCustomModuleMap(RULE_TYPE, false); } + + private boolean containsObjcFeature(String srcName) throws Exception { + MockObjcSupport.setup( + mockToolsConfig, + "feature {", + " name: 'contains_objc_sources'", + " flag_set {", + " flag_group {", + " flag: 'DUMMY_FLAG'", + " }", + " action: 'c++-compile'", + " }", + "}"); + createLibraryTargetWriter("//bottom:lib").setList("srcs", srcName).write(); + createLibraryTargetWriter("//middle:lib") + .setList("srcs", "b.cc") + .setList("deps", "//bottom:lib") + .write(); + createLibraryTargetWriter("//top:lib") + .setList("srcs", "a.cc") + .setList("deps", "//middle:lib") + .write(); + + CommandAction compileAction = compileAction("//top:lib", "a.o"); + return compileAction.getArguments().contains("DUMMY_FLAG"); + } + + @Test + public void testObjcSourcesFeatureCC() throws Exception { + assertThat(containsObjcFeature("c.cc")).isFalse(); + } + + @Test + public void testObjcSourcesFeatureObjc() throws Exception { + assertThat(containsObjcFeature("c.m")).isTrue(); + } + + @Test + public void testObjcSourcesFeatureObjcPlusPlus() throws Exception { + assertThat(containsObjcFeature("c.mm")).isTrue(); + } } |