aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar cnsun <cnsun@google.com>2018-01-05 11:10:25 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-05 11:11:52 -0800
commit7bde688a21b781caa666fe2bebe4482cf987270b (patch)
tree6b2656fa55ab88297363bc8d41ada24ee167a2c4 /src/test/java/com
parentcb7689404ef9a69488d64bfc2e0bfb9326e664d6 (diff)
Relax the assertion on the inferred resource type. Now we only require that the
resource type should have a (public) close() method. The old version requires the resource type implements AutoCloseable. When the classpath provided to Desugar has some problems, the resource type may not implement AutoCloseable, though it has the close() method. RELNOTES:n/a. PiperOrigin-RevId: 180950815
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/DesugarTryWithResourcesFunctionalTest.java30
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.java14
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_disabling_twr_with_large_minsdkversion_jar_toc_golden.txt1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_try_with_resources_jar_toc_golden.txt1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_jar_toc_golden.txt1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_java8_jar_toc_golden.txt1
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_without_lambda_desugared_jar_toc_golden.txt1
7 files changed, 49 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/android/desugar/DesugarTryWithResourcesFunctionalTest.java b/src/test/java/com/google/devtools/build/android/desugar/DesugarTryWithResourcesFunctionalTest.java
index 38df9e33a4..2d567d349d 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/DesugarTryWithResourcesFunctionalTest.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/DesugarTryWithResourcesFunctionalTest.java
@@ -96,4 +96,34 @@ public class DesugarTryWithResourcesFunctionalTest {
}
}
}
+
+ @Test
+ public void testInheritanceTryWithResources() {
+
+ try {
+ ClassUsingTryWithResources.inheritanceTryWithResources();
+ fail("Expected RuntimeException");
+ } catch (Exception expected) {
+ assertThat(expected.getClass()).isEqualTo(RuntimeException.class);
+
+ String expectedStrategyName = getTwrStrategyClassNameSpecifiedInSystemProperty();
+ assertThat(getStrategyClassName()).isEqualTo(expectedStrategyName);
+ if (isMimicStrategy()) {
+ assertThat(expected.getSuppressed()).isEmpty();
+ assertThat(ThrowableExtension.getSuppressed(expected)).hasLength(1);
+ assertThat(ThrowableExtension.getSuppressed(expected)[0].getClass())
+ .isEqualTo(IOException.class);
+ } else if (isReuseStrategy()) {
+ assertThat(expected.getSuppressed()).hasLength(1);
+ assertThat(expected.getSuppressed()[0].getClass()).isEqualTo(IOException.class);
+ assertThat(ThrowableExtension.getSuppressed(expected)[0].getClass())
+ .isEqualTo(IOException.class);
+ } else if (isNullStrategy()) {
+ assertThat(expected.getSuppressed()).isEmpty();
+ assertThat(ThrowableExtension.getSuppressed(expected)).isEmpty();
+ } else {
+ fail("unexpected desugaring strategy " + getStrategyClassName());
+ }
+ }
+ }
}
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.java b/src/test/java/com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.java
index c340c8489d..e4f7f18f56 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.java
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.java
@@ -49,6 +49,9 @@ public class ClassUsingTryWithResources {
}
}
+ /** A resource inheriting the close() method from its parent. */
+ public static class InheritanceResource extends SimpleResource {}
+
/** This method will always throw {@link java.lang.Exception}. */
public static void simpleTryWithResources() throws Exception {
// Throwable.addSuppressed(Throwable) should be called in the following block.
@@ -57,6 +60,17 @@ public class ClassUsingTryWithResources {
}
}
+ /**
+ * This method useds {@link InheritanceResource}, which inherits all methods from {@link
+ * SimpleResource}.
+ */
+ public static void inheritanceTryWithResources() throws Exception {
+ // Throwable.addSuppressed(Throwable) should be called in the following block.
+ try (InheritanceResource resource = new InheritanceResource()) {
+ resource.call(true);
+ }
+ }
+
public static Throwable[] checkSuppressedExceptions(boolean throwException) {
// Throwable.addSuppressed(Throwable) should be called in the following block.
try (SimpleResource resource = new SimpleResource()) {
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_disabling_twr_with_large_minsdkversion_jar_toc_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_disabling_twr_with_large_minsdkversion_jar_toc_golden.txt
index b7c3c25f38..8e396f5d74 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_disabling_twr_with_large_minsdkversion_jar_toc_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_disabling_twr_with_large_minsdkversion_jar_toc_golden.txt
@@ -12,6 +12,7 @@ com/google/devtools/build/android/desugar/testdata/CaptureLambda.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare$LongCmpFunc.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare.class
com/google/devtools/build/android/desugar/testdata/ClassCallingRequireNonNull.class
+com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$InheritanceResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$SimpleResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.class
com/google/devtools/build/android/desugar/testdata/ConcreteFunction$Parser.class
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_try_with_resources_jar_toc_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_try_with_resources_jar_toc_golden.txt
index d03b121dcb..41e8d1c80e 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_try_with_resources_jar_toc_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_for_try_with_resources_jar_toc_golden.txt
@@ -12,6 +12,7 @@ com/google/devtools/build/android/desugar/testdata/CaptureLambda.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare$LongCmpFunc.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare.class
com/google/devtools/build/android/desugar/testdata/ClassCallingRequireNonNull.class
+com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$InheritanceResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$SimpleResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.class
com/google/devtools/build/android/desugar/testdata/ConcreteFunction$Parser.class
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_jar_toc_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_jar_toc_golden.txt
index 91fc415f95..b79961e433 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_jar_toc_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_jar_toc_golden.txt
@@ -12,6 +12,7 @@ com/google/devtools/build/android/desugar/testdata/CaptureLambda.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare$LongCmpFunc.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare.class
com/google/devtools/build/android/desugar/testdata/ClassCallingRequireNonNull.class
+com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$InheritanceResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$SimpleResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.class
com/google/devtools/build/android/desugar/testdata/ConcreteFunction$Parser.class
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_java8_jar_toc_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_java8_jar_toc_golden.txt
index 907edd0a0a..67a46c3492 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_java8_jar_toc_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_java8_jar_toc_golden.txt
@@ -12,6 +12,7 @@ com/google/devtools/build/android/desugar/testdata/CaptureLambda.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare$LongCmpFunc.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare.class
com/google/devtools/build/android/desugar/testdata/ClassCallingRequireNonNull.class
+com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$InheritanceResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$SimpleResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.class
com/google/devtools/build/android/desugar/testdata/ConcreteFunction$Parser.class
diff --git a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_without_lambda_desugared_jar_toc_golden.txt b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_without_lambda_desugared_jar_toc_golden.txt
index 256760b32e..4fdc023874 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_without_lambda_desugared_jar_toc_golden.txt
+++ b/src/test/java/com/google/devtools/build/android/desugar/testdata_desugared_without_lambda_desugared_jar_toc_golden.txt
@@ -11,6 +11,7 @@ com/google/devtools/build/android/desugar/testdata/CaptureLambda.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare$LongCmpFunc.class
com/google/devtools/build/android/desugar/testdata/ClassCallingLongCompare.class
com/google/devtools/build/android/desugar/testdata/ClassCallingRequireNonNull.class
+com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$InheritanceResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources$SimpleResource.class
com/google/devtools/build/android/desugar/testdata/ClassUsingTryWithResources.class
com/google/devtools/build/android/desugar/testdata/ConcreteFunction$Parser.class