aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar jingwen <jingwen@google.com>2018-02-23 09:58:53 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-23 10:00:44 -0800
commit5f2648255967c776e72ec72790db733a22ed7c27 (patch)
tree137d6212649e3492882b6970b38454e30e7e6f95 /src/test/java/com
parentc791415dea389d60b495806905bf8cd008af1953 (diff)
Set the correct include path for r13b's llvm-libc++ headers and fix compilation with @androidndk//:toolchain-libcpp with missing link time files.
This fix needs a way to compare revision numbers, so the type of NdkRelease.majorRevision has been changed to Integer. This also paves the way for r15+ support. Fixes https://github.com/bazelbuild/bazel/issues/3641 Fixes https://github.com/bazelbuild/bazel/issues/3923 Fixes https://github.com/bazelbuild/bazel/issues/4677 TESTED=bazel test //src/test/shell/bazel/android:android_ndk_integration_test with r11, r12, r13, r14, r15 RELNOTES: Fixed include paths for NDK r13+ llvm-libc++ headers to `ndk/sources/cxx-stl/llvm-libc++/include` and `ndk/sources/cxx-stl/llvm-libc++abi/include` PiperOrigin-RevId: 186783465
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/AndroidNdkCrosstoolsTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkReleaseTest.java33
2 files changed, 20 insertions, 17 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/AndroidNdkCrosstoolsTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/AndroidNdkCrosstoolsTest.java
index 00719ffbfd..a4f24c6d45 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/AndroidNdkCrosstoolsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/AndroidNdkCrosstoolsTest.java
@@ -131,7 +131,9 @@ public class AndroidNdkCrosstoolsTest {
public AndroidNdkCrosstoolsTest(AndroidNdkCrosstoolsTestParams params) throws IOException {
// NDK test data is based on the x86 64-bit Linux Android NDK.
- NdkPaths ndkPaths = new NdkPaths(REPOSITORY_NAME, HOST_PLATFORM, params.apiLevel);
+ NdkPaths ndkPaths =
+ new NdkPaths(
+ REPOSITORY_NAME, HOST_PLATFORM, params.apiLevel, params.ndkRelease.majorRevision);
ImmutableList.Builder<CrosstoolRelease> crosstools = ImmutableList.builder();
ImmutableMap.Builder<String, String> stlFilegroupsBuilder = ImmutableMap.builder();
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkReleaseTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkReleaseTest.java
index c3f9c256ef..08733895c5 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkReleaseTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/NdkReleaseTest.java
@@ -28,20 +28,20 @@ public class NdkReleaseTest {
@Test
public void testReleaseParsing() {
- testNdkRelease("r8", "8", null, null, false);
- testNdkRelease("r8 (64-bit)", "8", null, null, true);
- testNdkRelease("r10", "10", null, null, false);
- testNdkRelease("r10 (64-bit)", "10", null, null, true);
- testNdkRelease("r10-rc4", "10", null, "rc4", false);
- testNdkRelease("r10-rc4 (64-bit)", "10", null, "rc4", true);
- testNdkRelease("r10e", "10", "e", null, false);
- testNdkRelease("r10e (64-bit)", "10", "e", null, true);
- testNdkRelease("r10e-rc4", "10", "e", "rc4", false);
- testNdkRelease("r10e-rc4 (64-bit)", "10", "e", "rc4", true);
+ testNdkRelease("r8", 8, null, null, false);
+ testNdkRelease("r8 (64-bit)", 8, null, null, true);
+ testNdkRelease("r10", 10, null, null, false);
+ testNdkRelease("r10 (64-bit)", 10, null, null, true);
+ testNdkRelease("r10-rc4", 10, null, "rc4", false);
+ testNdkRelease("r10-rc4 (64-bit)", 10, null, "rc4", true);
+ testNdkRelease("r10e", 10, "e", null, false);
+ testNdkRelease("r10e (64-bit)", 10, "e", null, true);
+ testNdkRelease("r10e-rc4", 10, "e", "rc4", false);
+ testNdkRelease("r10e-rc4 (64-bit)", 10, "e", "rc4", true);
try {
// this is actually invalid
- testNdkRelease("r10e-rc4 (abc)", "10", "e", "rc4", false);
+ testNdkRelease("r10e-rc4 (abc)", 10, "e", "rc4", false);
throw new Error();
} catch (AssertionError e) {
// expected
@@ -55,7 +55,7 @@ public class NdkReleaseTest {
NdkRelease ndkRelease = NdkRelease.create(releaseString);
assertThat(ndkRelease.isValid).isTrue();
assertThat(ndkRelease.rawRelease).isEqualTo("11.2.2725575");
- assertThat(ndkRelease.majorRevision).isEqualTo("11");
+ assertThat(ndkRelease.majorRevision).isEqualTo(11);
assertThat(ndkRelease.minorRevision).isEqualTo("2");
assertThat(ndkRelease.releaseCandidate).isNull();
assertThat(ndkRelease.is64Bit).isTrue();
@@ -68,15 +68,15 @@ public class NdkReleaseTest {
NdkRelease ndkRelease = NdkRelease.create(releaseString);
assertThat(ndkRelease.isValid).isTrue();
assertThat(ndkRelease.rawRelease).isEqualTo("12.1.297705");
- assertThat(ndkRelease.majorRevision).isEqualTo("12");
+ assertThat(ndkRelease.majorRevision).isEqualTo(12);
assertThat(ndkRelease.minorRevision).isEqualTo("1");
assertThat(ndkRelease.releaseCandidate).isNull();
assertThat(ndkRelease.is64Bit).isTrue();
}
-
+
private static void testNdkRelease(
String ndkReleaseString,
- String majorRelease,
+ Integer majorRelease,
String minorRelease,
String releaseCandidate,
boolean is64Bit) {
@@ -115,7 +115,8 @@ public class NdkReleaseTest {
NdkRelease ndkRelease = NdkRelease.create(ndkReleaseString);
assertThat(ndkRelease.isValid).isFalse();
assertThat(ndkRelease.rawRelease).isEqualTo(ndkReleaseString);
- assertThat(ndkRelease.majorRevision).isNull();
+ assertThat(ndkRelease.majorRevision)
+ .isEqualTo(AndroidNdkCrosstools.LATEST_KNOWN_REVISION.getKey());
assertThat(ndkRelease.minorRevision).isNull();
assertThat(ndkRelease.releaseCandidate).isNull();
assertThat(ndkRelease.is64Bit).isFalse();