aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-09-25 20:00:48 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-09-26 12:30:11 +0200
commit282c29e57f6a505cf2c0fa480263e62c85bd753f (patch)
tree8a0bf676caa232fc7706d1d911806bcf876cdeea /src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
parent63a6e914bc97db821da5032cf6a0bc8a61ae7d1f (diff)
Move remaining legacy objc_library tests to crosstool case.
PiperOrigin-RevId: 169930643
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.java56
1 files changed, 56 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 79381625f6..043b791cd2 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
@@ -1322,6 +1322,25 @@ public class ObjcLibraryTest extends ObjcRuleTestCase {
checkSdkIncludesUsedInCompileAction(RULE_TYPE);
}
+ // Test with ios device SDK version 9.0. Framework path differs from previous versions.
+ @Test
+ public void testCompilationActions_deviceSdk9() throws Exception {
+ useConfiguration("--cpu=ios_armv7", "--ios_minimum_os=1.0", "--ios_sdk_version=9.0");
+
+ createLibraryTargetWriter("//objc:lib")
+ .setAndCreateFiles("srcs", "a.m", "b.m", "private.h")
+ .setAndCreateFiles("hdrs", "c.h")
+ .write();
+
+ CommandAction compileAction = compileAction("//objc:lib", "a.o");
+
+ // We remove spaces, since the crosstool rules do not use spaces in command line args.
+
+ String compileArgs = Joiner.on("").join(compileAction.getArguments()).replace(" ", "");
+ assertThat(compileArgs)
+ .contains("-F" + AppleToolchain.sdkDir() + AppleToolchain.SYSTEM_FRAMEWORK_PATH);
+ }
+
@Test
public void testCompilationActionsWithPch() throws Exception {
ApplePlatform platform = ApplePlatform.IOS_SIMULATOR;
@@ -1592,6 +1611,43 @@ public class ObjcLibraryTest extends ObjcRuleTestCase {
}
@Test
+ public void testCompilesAssemblyAsm() throws Exception {
+ createLibraryTargetWriter("//objc:lib")
+ .setAndCreateFiles("srcs", "a.m", "b.asm")
+ .setAndCreateFiles("hdrs", "c.h")
+ .write();
+
+ CommandAction compileAction = compileAction("//objc:lib", "b.o");
+
+ assertThat(compileAction.getArguments()).doesNotContain("-x");
+ assertThat(compileAction.getArguments()).doesNotContain("assembler-with-cpp");
+ assertThat(baseArtifactNames(compileAction.getOutputs())).contains("b.o");
+ assertThat(baseArtifactNames(compileAction.getPossibleInputsForTesting()))
+ .containsAllOf("c.h", "b.asm");
+ }
+
+ @Test
+ public void testCompilesAssemblyS() throws Exception {
+ createLibraryTargetWriter("//objc:lib")
+ .setAndCreateFiles("srcs", "a.m", "b.s")
+ .setAndCreateFiles("hdrs", "c.h")
+ .write();
+
+ CommandAction compileAction = compileAction("//objc:lib", "b.o");
+
+ assertThat(compileAction.getArguments()).doesNotContain("-x");
+ assertThat(compileAction.getArguments()).doesNotContain("assembler-with-cpp");
+ assertThat(baseArtifactNames(compileAction.getOutputs())).contains("b.o");
+ assertThat(baseArtifactNames(compileAction.getPossibleInputsForTesting()))
+ .containsAllOf("c.h", "b.s");
+ }
+
+ @Test
+ public void testProvidesHdrsAndIncludes() throws Exception {
+ checkProvidesHdrsAndIncludes(RULE_TYPE);
+ }
+
+ @Test
public void testUsesDotdPruning() throws Exception {
useConfiguration(
"--crosstool_top=" + MockObjcSupport.DEFAULT_OSX_CROSSTOOL, "--objc_use_dotd_pruning");