aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java54
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java56
2 files changed, 57 insertions, 53 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java
index 852752545a..0df64354b5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java
@@ -68,6 +68,7 @@ public class LegacyObjcLibraryTest extends ObjcLibraryTest {
// Features are not exported by legacy actions.
}
+ // Crosstool rules do not account for slashes in target names.
@Test
public void testLibFileIsCorrectForSlashInTargetName() throws Exception {
ConfiguredTarget target =
@@ -205,22 +206,6 @@ public class LegacyObjcLibraryTest extends ObjcLibraryTest {
.containsExactly("a.m", "c.h", "private.h", XCRUNWRAPPER);
}
- // 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");
-
- assertThat(compileAction.getArguments()).containsAllOf(
- "-F", AppleToolchain.sdkDir() + AppleToolchain.SYSTEM_FRAMEWORK_PATH).inOrder();
- }
-
// Override required for distinct compiler path, command line args.
@Override
@Test
@@ -457,43 +442,6 @@ public class LegacyObjcLibraryTest extends ObjcLibraryTest {
.containsExactly("liblib_dep.a", "liblib.a", LIBTOOL);
}
- @Test
- public void testProvidesHdrsAndIncludes() throws Exception {
- checkProvidesHdrsAndIncludes(RULE_TYPE);
- }
-
- @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())).containsExactly("b.o", "b.d");
- assertThat(baseArtifactNames(compileAction.getInputs()))
- .containsExactly("c.h", "b.s", XCRUNWRAPPER);
- }
-
- @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())).containsExactly("b.o", "b.d");
- assertThat(baseArtifactNames(compileAction.getInputs()))
- .containsExactly("c.h", "b.asm", XCRUNWRAPPER);
- }
-
// Dotd pruning must be tested seperately for the legacy case, since it involves the
// ObjcCompileAction.
@Override
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");