aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-08-21 22:25:41 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-22 09:14:11 +0200
commit8d9576d031654903bcdcecaea5b745456e299343 (patch)
tree23da5ee58b81c6f32decedb74428f1e70f1dfc8f /src/test/java/com/google/devtools/build
parentd255dae6fcd761d4b58609dbe941d0062dcf15ea (diff)
Change some apple_static_library tests so they work for
--experimental_objc_crosstool=all. PiperOrigin-RevId: 165966924
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java66
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/LegacyAppleStaticLibraryTest.java65
2 files changed, 66 insertions, 65 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
index 434164dbe0..346e235a3d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
@@ -558,4 +558,70 @@ public class AppleStaticLibraryTest extends ObjcRuleTestCase {
public void testMinimumOsDifferentTargets() throws Exception {
checkMinimumOsDifferentTargets(RULE_TYPE, "_lipo.a", "-fl.a");
}
+
+ @Test
+ public void testAvoidDepsObjects() throws Exception {
+ scratch.file("package/BUILD",
+ "apple_static_library(",
+ " name = 'test',",
+ " deps = [':objcLib'],",
+ " avoid_deps = [':avoidLib'],",
+ " platform_type = 'ios',",
+ ")",
+ "objc_library(name = 'objcLib', srcs = [ 'b.m' ], deps = [':avoidLib', ':baseLib'])",
+ "objc_library(name = 'baseLib', srcs = [ 'base.m' ])",
+ "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
+
+ CommandAction action = linkLibAction("//package:test");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).containsAllOf(
+ "package/libobjcLib.a", "package/libbaseLib.a");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).doesNotContain(
+ "package/libavoidLib.a");
+ }
+
+ @Test
+ // Tests that if there is a cc_library in avoid_deps, all of its dependencies are
+ // transitively avoided, even if it is not present in deps.
+ public void testAvoidDepsObjects_avoidViaCcLibrary() throws Exception {
+ scratch.file("package/BUILD",
+ "apple_static_library(",
+ " name = 'test',",
+ " deps = [':objcLib'],",
+ " avoid_deps = [':avoidCclib'],",
+ " platform_type = 'ios',",
+ ")",
+ "cc_library(name = 'avoidCclib', srcs = ['cclib.c'], deps = [':avoidLib'])",
+ "objc_library(name = 'objcLib', srcs = [ 'b.m' ], deps = [':avoidLib'])",
+ "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
+
+ useConfiguration("--experimental_disable_go", "--experimental_disable_jvm");
+ CommandAction action = linkLibAction("//package:test");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).contains(
+ "package/libobjcLib.a");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).doesNotContain(
+ "package/libavoidCcLib.a");
+ }
+
+ @Test
+ // Tests that if there is a cc_library in avoid_deps, and it is present in deps, it will
+ // be avoided, as well as its transitive dependencies.
+ public void testAvoidDepsObjects_avoidCcLibrary() throws Exception {
+ scratch.file("package/BUILD",
+ "apple_static_library(",
+ " name = 'test',",
+ " deps = [':objcLib', ':avoidCclib'],",
+ " avoid_deps = [':avoidCclib'],",
+ " platform_type = 'ios',",
+ ")",
+ "cc_library(name = 'avoidCclib', srcs = ['cclib.c'], deps = [':avoidLib'])",
+ "objc_library(name = 'objcLib', srcs = [ 'b.m' ])",
+ "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
+
+ useConfiguration("--experimental_disable_go", "--experimental_disable_jvm");
+ CommandAction action = linkLibAction("//package:test");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).contains(
+ "package/libobjcLib.a");
+ assertThat(Artifact.toRootRelativePaths(action.getInputs())).doesNotContain(
+ "package/libavoidCcLib.a");
+ }
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyAppleStaticLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyAppleStaticLibraryTest.java
index d25de7b30e..f371eea4f4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyAppleStaticLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/LegacyAppleStaticLibraryTest.java
@@ -14,12 +14,7 @@
package com.google.devtools.build.lib.rules.objc;
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.actions.CommandAction;
import com.google.devtools.build.lib.rules.objc.ObjcCommandLineOptions.ObjcCrosstoolMode;
-import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -33,64 +28,4 @@ public class LegacyAppleStaticLibraryTest extends AppleStaticLibraryTest {
return ObjcCrosstoolMode.OFF;
}
- @Test
- public void testAvoidDepsObjects() throws Exception {
- scratch.file("package/BUILD",
- "apple_static_library(",
- " name = 'test',",
- " deps = [':objcLib'],",
- " avoid_deps = [':avoidLib'],",
- " platform_type = 'ios',",
- ")",
- "objc_library(name = 'objcLib', srcs = [ 'b.m' ], deps = [':avoidLib', ':baseLib'])",
- "objc_library(name = 'baseLib', srcs = [ 'base.m' ])",
- "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
-
- CommandAction action = linkLibAction("//package:test");
- assertThat(Artifact.toRootRelativePaths(action.getInputs())).containsExactly(
- "package/libobjcLib.a", "package/libbaseLib.a", MOCK_LIBTOOL_PATH);
- }
-
- @Test
- // Tests that if there is a cc_library in avoid_deps, all of its dependencies are
- // transitively avoided, even if it is not present in deps.
- public void testAvoidDepsObjects_avoidViaCcLibrary() throws Exception {
- scratch.file("package/BUILD",
- "apple_static_library(",
- " name = 'test',",
- " deps = [':objcLib'],",
- " avoid_deps = [':avoidCclib'],",
- " platform_type = 'ios',",
- ")",
- "cc_library(name = 'avoidCclib', srcs = ['cclib.c'], deps = [':avoidLib'])",
- "objc_library(name = 'objcLib', srcs = [ 'b.m' ], deps = [':avoidLib'])",
- "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
-
- useConfiguration("--experimental_disable_go", "--experimental_disable_jvm");
- CommandAction action = linkLibAction("//package:test");
- assertThat(Artifact.toRootRelativePaths(action.getInputs())).containsExactly(
- "package/libobjcLib.a", MOCK_LIBTOOL_PATH);
- }
-
- @Test
- // Tests that if there is a cc_library in avoid_deps, and it is present in deps, it will
- // be avoided, as well as its transitive dependencies.
- public void testAvoidDepsObjects_avoidCcLibrary() throws Exception {
- scratch.file("package/BUILD",
- "apple_static_library(",
- " name = 'test',",
- " deps = [':objcLib', ':avoidCclib'],",
- " avoid_deps = [':avoidCclib'],",
- " platform_type = 'ios',",
- ")",
- "cc_library(name = 'avoidCclib', srcs = ['cclib.c'], deps = [':avoidLib'])",
- "objc_library(name = 'objcLib', srcs = [ 'b.m' ])",
- "objc_library(name = 'avoidLib', srcs = [ 'c.m' ])");
-
- useConfiguration("--experimental_disable_go", "--experimental_disable_jvm");
- CommandAction action = linkLibAction("//package:test");
- assertThat(Artifact.toRootRelativePaths(action.getInputs())).containsExactly(
- "package/libobjcLib.a", MOCK_LIBTOOL_PATH);
- }
-
}