diff options
author | 2017-09-25 20:00:48 +0200 | |
---|---|---|
committer | 2017-09-26 12:30:11 +0200 | |
commit | 282c29e57f6a505cf2c0fa480263e62c85bd753f (patch) | |
tree | 8a0bf676caa232fc7706d1d911806bcf876cdeea /src/test/java/com/google/devtools/build/lib/rules | |
parent | 63a6e914bc97db821da5032cf6a0bc8a61ae7d1f (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')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/objc/LegacyObjcLibraryTest.java | 54 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java | 56 |
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"); |