diff options
author | cparsons <cparsons@google.com> | 2018-02-08 06:04:21 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-08 06:05:58 -0800 |
commit | 3d45d25ee375d4a4fbc78635e3ce18a9981da3f7 (patch) | |
tree | cf4d668c64e65331300452a4d3ad2801765978c8 /src/test/java/com/google/devtools/build/lib/rules/objc | |
parent | 093d22d23ba09f6f56fc3eb419a93223c8388867 (diff) |
Make remaining Apple tests correctly reference tools repository identifier
RELNOTES: None.
PiperOrigin-RevId: 184985081
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/objc')
3 files changed, 102 insertions, 96 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinarySkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinarySkylarkApiTest.java index c134f62cb9..8f7f1d047d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinarySkylarkApiTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinarySkylarkApiTest.java @@ -17,6 +17,7 @@ package com.google.devtools.build.lib.rules.objc; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.testutil.Scratch; +import com.google.devtools.build.lib.testutil.TestConstants; import java.io.IOException; import java.util.Set; import org.junit.Before; @@ -51,7 +52,10 @@ public class AppleBinarySkylarkApiTest extends AppleBinaryTest { @Before public final void setup() throws Exception { scratch.file("test_skylark/BUILD"); - scratch.file("test_skylark/apple_binary_skylark.bzl", + String toolsLoc = TestConstants.TOOLS_REPOSITORY + "//tools/objc"; + + scratch.file( + "test_skylark/apple_binary_skylark.bzl", "def apple_binary_skylark_impl(ctx):", " link_provider = apple_common.link_multi_arch_binary(ctx)", " return struct(", @@ -70,22 +74,22 @@ public class AppleBinarySkylarkApiTest extends AppleBinaryTest { " fragment='cpp', name='cc_toolchain'),),", " '_googlemac_proto_compiler': attr.label(", " cfg='host',", - " default=Label('//tools/objc:protobuf_compiler_wrapper')),", + " default=Label('" + toolsLoc + ":protobuf_compiler_wrapper')),", " '_googlemac_proto_compiler_support': attr.label(", " cfg='host',", - " default=Label('//tools/objc:protobuf_compiler_support')),", + " default=Label('" + toolsLoc + ":protobuf_compiler_support')),", " '_lib_protobuf': attr.label(", - " default=Label('//tools/objc:protobuf_lib')),", + " default=Label('" + toolsLoc + ":protobuf_lib')),", " '_protobuf_well_known_types': attr.label(", " cfg='host',", - " default=Label('//tools/objc:protobuf_well_known_types')),", + " default=Label('" + toolsLoc + ":protobuf_well_known_types')),", " '_xcode_config': attr.label(", " default=configuration_field(", " fragment='apple', name='xcode_config_label'),),", " '_xcrunwrapper': attr.label(", " executable=True,", " cfg='host',", - " default=Label('//tools/objc:xcrunwrapper')),", + " default=Label('" + toolsLoc + ":xcrunwrapper')),", " 'binary_type': attr.string(),", " 'bundle_loader': attr.label(aspects=[apple_common.objc_proto_aspect],),", " 'non_propagated_deps': attr.label_list(cfg=apple_common.multi_arch_split),", diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD b/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD index 20f179ae3e..9f9e0472c2 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD @@ -12,36 +12,7 @@ filegroup( java_library( name = "ObjcRulesTests_lib", - srcs = [ - # TODO(b/64531582): Use glob for all files in this directory once - # legacy tests are removed. - "AppleBinaryTest.java", - "AppleDynamicLibraryTest.java", - "AppleStaticLibraryTest.java", - "AppleStubBinaryTest.java", - "AppleToolchainSelectionTest.java", - "BinaryRuleType.java", - "HeaderThinningTest.java", - "InterspersingTest.java", - "IosDeviceTest.java", - "J2ObjcLibraryTest.java", - "J2ObjcSourceTest.java", - "ObjcBuildVariablesTest.java", - "ObjcBundleLibraryTest.java", - "ObjcBundleTest.java", - "ObjcFrameworkTest.java", - "ObjcProtoAspectTest.java", - "ObjcProtoLibraryTest.java", - "ObjcImportTest.java", - "ObjcLibraryTest.java", - "ObjcProviderTest.java", - "ObjcRuleTestCase.java", - "ObjcSkylarkTest.java", - "OnlyNeedsSourcesRuleType.java", - "RuleType.java", - "TargetDeviceFamilyTest.java", - "ValueTest.java", - ], + srcs = glob(["*.java"]), deps = [ "//src/main/java/com/google/devtools/build/lib:build-base", "//src/main/java/com/google/devtools/build/lib:packages-internal", diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java index a2df8b5030..64e4b46eb7 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java @@ -46,6 +46,7 @@ import com.google.devtools.build.lib.rules.apple.DottedVersion; import com.google.devtools.build.lib.rules.cpp.CppCompileActionTemplate; import com.google.devtools.build.lib.rules.cpp.CppModuleMapAction; import com.google.devtools.build.lib.rules.cpp.UmbrellaHeaderAction; +import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.vfs.PathFragment; import java.io.ByteArrayOutputStream; import java.util.List; @@ -61,6 +62,17 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { + protected String j2ObjcCompatibleProtoLibrary(String... lines) { + StringBuilder builder = new StringBuilder(); + builder.append("proto_library("); + for (String line : lines) { + builder.append(line); + builder.append('\n'); + } + builder.append(")\n"); + return builder.toString(); + } + /** * Gets the target with the given label, using the apple_binary multi-arch split transition with * the default version of iOS as the platform. @@ -81,12 +93,15 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ConfiguredTarget j2objcLibraryTarget = getConfiguredTarget( "//java/com/google/dummy/test:transpile"); ObjcProvider provider = j2objcLibraryTarget.get(ObjcProvider.SKYLARK_CONSTRUCTOR); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))).containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", - "java/com/google/dummy/test/libtest_j2objc.a"); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))).containsExactly( - "third_party/java/j2objc/jre_core.h", - "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", + "java/com/google/dummy/test/libtest_j2objc.a"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", + "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h"); String execPath = j2objcLibraryTarget.getConfiguration().getBinDirectory(RepositoryName.MAIN) .getExecPath() + "/"; @@ -118,12 +133,17 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ConfiguredTarget target = getConfiguredTarget("//java/com/google/test:transpile"); ObjcProvider provider = target.get(ObjcProvider.SKYLARK_CONSTRUCTOR); String genfilesFragment = target.getConfiguration().getGenfilesFragment().toString(); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))).containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", - "java/com/google/test/libtest_j2objc.a"); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))).containsExactly( - "third_party/java/j2objc/jre_core.h", - "java/com/google/test/_j2objc/test/" + genfilesFragment + "/java/com/google/test/test.h"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", + "java/com/google/test/libtest_j2objc.a"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", + "java/com/google/test/_j2objc/test/" + + genfilesFragment + + "/java/com/google/test/test.h"); String execPath = target.getConfiguration().getBinDirectory(RepositoryName.MAIN) .getExecPath() + "/"; @@ -139,13 +159,10 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { public void testJ2ObjcProtoRuntimeLibraryAndHeadersExported() throws Exception { scratch.file("java/com/google/dummy/test/proto/test.java"); scratch.file("java/com/google/dummy/test/proto/test.proto"); - scratch.file("java/com/google/dummy/test/proto/BUILD", + scratch.file( + "java/com/google/dummy/test/proto/BUILD", "package(default_visibility=['//visibility:public'])", - "proto_library(", - " name = 'test_proto',", - " srcs = ['test.proto'],", - " java_api_version = 2,", - " j2objc_api_version = 1)", + j2ObjcCompatibleProtoLibrary(" name = 'test_proto',", " srcs = ['test.proto'],"), "", "java_library(", " name = 'test',", @@ -159,16 +176,20 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ConfiguredTarget j2objcLibraryTarget = getConfiguredTarget( "//java/com/google/dummy/test/proto:transpile"); ObjcProvider provider = j2objcLibraryTarget.get(ObjcProvider.SKYLARK_CONSTRUCTOR); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))).containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", - "third_party/java/j2objc/libproto_runtime.a", - "java/com/google/dummy/test/proto/libtest_j2objc.a", - "java/com/google/dummy/test/proto/libtest_proto_j2objc.a"); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))).containsExactly( - "third_party/java/j2objc/jre_core.h", - "third_party/java/j2objc/runtime.h", - "java/com/google/dummy/test/proto/test.j2objc.pb.h", - "java/com/google/dummy/test/proto/_j2objc/test/java/com/google/dummy/test/proto/test.h"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libproto_runtime.a", + "java/com/google/dummy/test/proto/libtest_j2objc.a", + "java/com/google/dummy/test/proto/libtest_proto_j2objc.a"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/runtime.h", + "java/com/google/dummy/test/proto/test.j2objc.pb.h", + "java/com/google/dummy/test/proto/_j2objc/test/java/com/google/dummy/test/proto/test.h"); } @Test @@ -206,13 +227,10 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { public void testJ2ObjcProtoClassMappingFilesExportedInJavaLibrary() throws Exception { scratch.file("java/com/google/dummy/test/proto/test.java"); scratch.file("java/com/google/dummy/test/proto/test.proto"); - scratch.file("java/com/google/dummy/test/proto/BUILD", + scratch.file( + "java/com/google/dummy/test/proto/BUILD", "package(default_visibility=['//visibility:public'])", - "proto_library(", - " name = 'test_proto',", - " srcs = ['test.proto'],", - " java_api_version = 2,", - " j2objc_api_version = 1)", + j2ObjcCompatibleProtoLibrary(" name = 'test_proto',", " srcs = ['test.proto'],"), "", "java_library(", " name = 'test',", @@ -232,12 +250,9 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { @Test public void testJavaProtoLibraryWithProtoLibrary() throws Exception { - scratch.file("x/BUILD", - "proto_library(", - " name = 'test_proto',", - " srcs = ['test.proto'],", - " java_api_version = 2,", - " j2objc_api_version = 1)", + scratch.file( + "x/BUILD", + j2ObjcCompatibleProtoLibrary(" name = 'test_proto',", " srcs = ['test.proto'],"), "", "java_proto_library(", " name = 'test_java_proto',", @@ -322,12 +337,15 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "//java/com/google/dummy/test:transpile"); ObjcProvider provider = j2objcLibraryTarget.get(ObjcProvider.SKYLARK_CONSTRUCTOR); // jre_io_lib and jre_emul_lib should be excluded. - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))).containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", - "java/com/google/dummy/test/libtest_j2objc.a"); - assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))).containsExactly( - "third_party/java/j2objc/jre_core.h", - "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", + "java/com/google/dummy/test/libtest_j2objc.a"); + assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) + .containsExactly( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", + "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h"); } @Test @@ -414,7 +432,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "java/com/google/transpile/libOne.java", "java/com/google/transpile/jar.srcjar"); assertThat(headerMappingAction.getArguments()) .containsExactly( - "tools/j2objc/j2objc_header_map.py", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "tools/j2objc/j2objc_header_map.py", "--source_files", "java/com/google/transpile/libOne.java", "--source_jars", @@ -522,12 +540,13 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ObjcProvider provider = objcTarget.get(ObjcProvider.SKYLARK_CONSTRUCTOR); assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) .containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", "java/com/google/dummy/test/libtest_j2objc.a", "app/liblib.a"); assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) .containsExactly( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h"); String execPath = @@ -565,13 +584,14 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ObjcProvider provider = objcTarget.get(ObjcProvider.SKYLARK_CONSTRUCTOR); assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.LIBRARY))) .containsExactly( - "third_party/java/j2objc/libjre_core_lib.a", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a", "app/libdummyOne_j2objc.a", "app/libdummyTwo_j2objc.a", "app/liblib.a"); assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.HEADER))) .containsExactly( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "app/_j2objc/dummyOne/app/dummyOne.h", "app/_j2objc/dummyTwo/app/dummyTwo.h"); @@ -592,7 +612,9 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "j2objc_library(", " name = 'j2',", " deps = [ '//java/c/y:ylib' ],", - " jre_deps = [ '//third_party/java/j2objc:jre_io_lib' ])", + " jre_deps = [ '" + + TestConstants.TOOLS_REPOSITORY + + "//third_party/java/j2objc:jre_io_lib' ])", "apple_binary(", " name = 'test',", " platform_type = 'ios',", @@ -617,8 +639,14 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { .containsAllOf( binDir + "/java/c/y/libylib_j2objc.a", // All jre libraries mus appear after java libraries in the link order. - binDir + "/third_party/java/j2objc/libjre_io_lib.a", - binDir + "/third_party/java/j2objc/libjre_core_lib.a") + binDir + + "/" + + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_io_lib.a", + binDir + + "/" + + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "third_party/java/j2objc/libjre_core_lib.a") .inOrder(); } @@ -763,7 +791,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { CommandAction compileAction = getObjcCompileAction(archive, "test.o"); assertThat(Artifact.toRootRelativePaths(compileAction.getPossibleInputsForTesting())) .containsAllOf( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.m"); assertThat(compileAction.getArguments()).containsAllOf("-fno-objc-arc", "-fno-strict-overflow"); @@ -778,7 +806,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "libtest_j2objc.a", "test.o", ImmutableList.of( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.m")); } @@ -806,7 +834,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "libtest_j2objc.a", "test.o", ImmutableList.of( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.h", "java/com/google/dummy/test/_j2objc/test/java/com/google/dummy/test/test.m")); @@ -815,7 +843,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { "libdummy_j2objc.a", "dummy.o", ImmutableList.of( - "third_party/java/j2objc/jre_core.h", + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "third_party/java/j2objc/jre_core.h", "java/com/google/dummy/_j2objc/dummy/java/com/google/dummy/dummy.h", "java/com/google/dummy/_j2objc/dummy/java/com/google/dummy/dummy.m")); } @@ -871,7 +899,8 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { .add("--output_archive") .add(prunedArchive.getExecPathString()) .add("--dummy_archive") - .add(execPath + "tools/objc/libdummy_lib.a") + .add( + execPath + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + "tools/objc/libdummy_lib.a") .add("--xcrunwrapper") .add(MOCK_XCRUNWRAPPER_EXECUTABLE_PATH) .add("--dependency_mapping_files") @@ -888,7 +917,9 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { assertContainsSublist( deadCodeRemovalAction.getArguments(), new ImmutableList.Builder<String>() - .add("tools/objc/j2objc_dead_code_pruner.py") + .add( + TestConstants.TOOLS_REPOSITORY_PATH_PREFIX + + "tools/objc/j2objc_dead_code_pruner.py") .add("@" + paramFile.getExecPathString()) .build()); assertThat(deadCodeRemovalAction.getOutputs()).containsExactly(prunedArchive); |