Enable Android Desugar tests
Add test targets for:
- android/desugar/CoreLibrarySupportTest.java
- android/desugar/CorePackageRenamerTest.java
- android/desugar/FrameInfoTest.java
These tests were open-source but had no targets
that included them.
I replaced the org.junit.Assert.assertThrows calls
with plain old try-catch, because Bazel's vendored
JUnit version does not support assertThrows.
RELNOTES: none
PiperOrigin-RevId: 293767534
diff --git a/src/test/java/com/google/devtools/build/android/desugar/BUILD b/src/test/java/com/google/devtools/build/android/desugar/BUILD
index 9778563..4caf05b 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/BUILD
+++ b/src/test/java/com/google/devtools/build/android/desugar/BUILD
@@ -2166,3 +2166,49 @@
"//third_party:truth",
],
)
+
+java_test(
+ name = "CoreLibrarySupportTest",
+ size = "small",
+ srcs = ["CoreLibrarySupportTest.java"],
+ tags = ["no_windows"],
+ test_class = "com.google.devtools.build.android.desugar.CoreLibrarySupportTest",
+ deps = [
+ "//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
+ "//third_party:asm",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "CorePackageRenamerTest",
+ size = "small",
+ srcs = ["CorePackageRenamerTest.java"],
+ tags = ["no_windows"],
+ test_class = "com.google.devtools.build.android.desugar.CorePackageRenamerTest",
+ deps = [
+ "//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
+ "//third_party:asm",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "FrameInfoTest",
+ size = "small",
+ srcs = ["FrameInfoTest.java"],
+ tags = ["no_windows"],
+ test_class = "com.google.devtools.build.android.desugar.FrameInfoTest",
+ deps = [
+ "//src/tools/android/java/com/google/devtools/build/android/desugar",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java b/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
index 5e29b9a..bc2af74 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/CoreLibrarySupportTest.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.android.desugar;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.android.desugar.io.CoreLibraryRewriter;
@@ -23,11 +22,13 @@
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentMap;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.objectweb.asm.Opcodes;
+/** Tests for {@link CoreLibrarySupport}. */
@RunWith(JUnit4.class)
public class CoreLibrarySupportTest {
@@ -140,12 +141,18 @@
.isEqualTo("com/google/Helper");
assertThat(support.getFromCoreLibraryConverter("java/util/Existing"))
.isEqualTo("com/google/Helper");
- assertThrows(
- NullPointerException.class,
- () -> support.getFromCoreLibraryConverter("__/java/util/Existing2"));
- assertThrows(
- NullPointerException.class,
- () -> support.getFromCoreLibraryConverter("java/util/Existing2"));
+ try {
+ support.getFromCoreLibraryConverter("__/java/util/Existing2");
+ Assert.fail("expected failure");
+ } catch (NullPointerException e) {
+ // expected
+ }
+ try {
+ support.getFromCoreLibraryConverter("java/util/Existing2");
+ Assert.fail("expected failure");
+ } catch (NullPointerException e) {
+ // expected
+ }
assertThat(support.usedRuntimeHelpers()).containsExactly("com/google/Helper");
}
diff --git a/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java b/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
index abbb6ea..f595c30 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/CorePackageRenamerTest.java
@@ -14,10 +14,10 @@
package com.google.devtools.build.android.desugar;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.android.desugar.io.CoreLibraryRewriter;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -25,6 +25,7 @@
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
+/** Tests for {@link CorePackageRenamer}. */
// TODO(b/134636762): Test override preservation logic somehow (needs to class-load test input)
@RunWith(JUnit4.class)
public class CorePackageRenamerTest {
@@ -94,20 +95,19 @@
assertThat(out.mv.owner).isEqualTo("android/arch/Instant");
assertThat(out.mv.desc).isEqualTo("()Lj$/time/Instant;");
- assertThrows(
- IllegalStateException.class,
- () ->
- mv.visitMethodInsn(
- Opcodes.INVOKESTATIC,
- "android/time/Instant",
- "now",
- "()Ljava/time/Instant;",
- false));
- assertThrows(
- IllegalStateException.class,
- () ->
- mv.visitFieldInsn(
- Opcodes.GETFIELD, "android/time/Instant", "now", "Ljava/time/Instant;"));
+ try {
+ mv.visitMethodInsn(
+ Opcodes.INVOKESTATIC, "android/time/Instant", "now", "()Ljava/time/Instant;", false);
+ Assert.fail("expected failure");
+ } catch (IllegalStateException e) {
+ // expected
+ }
+ try {
+ mv.visitFieldInsn(Opcodes.GETFIELD, "android/time/Instant", "now", "Ljava/time/Instant;");
+ Assert.fail("expected failure");
+ } catch (IllegalStateException e) {
+ // expected
+ }
}
private static class MockClassVisitor extends ClassVisitor {