aboutsummaryrefslogtreecommitdiff
path: root/gae-interop-testing
diff options
context:
space:
mode:
authorEric Anderson <ejona@google.com>2018-08-17 15:09:36 -0700
committerEric Anderson <ejona@google.com>2018-08-17 17:25:54 -0700
commitf8d30afb2046775243991c25d931c1ea98aaa66b (patch)
treed058dbdfbdbda33a050c9cc45ab318cac8bf4813 /gae-interop-testing
parent778804f4c507ed6046bd7be0fde743ac1024dc85 (diff)
downloadgrpc-grpc-java-f8d30afb2046775243991c25d931c1ea98aaa66b.tar.gz
Handle exceptions in after
Diffstat (limited to 'gae-interop-testing')
-rw-r--r--gae-interop-testing/gae-jdk7/src/main/java/io/grpc/testing/integration/OkHttpClientInteropServlet.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/gae-interop-testing/gae-jdk7/src/main/java/io/grpc/testing/integration/OkHttpClientInteropServlet.java b/gae-interop-testing/gae-jdk7/src/main/java/io/grpc/testing/integration/OkHttpClientInteropServlet.java
index 252bb1c80..a0243049f 100644
--- a/gae-interop-testing/gae-jdk7/src/main/java/io/grpc/testing/integration/OkHttpClientInteropServlet.java
+++ b/gae-interop-testing/gae-jdk7/src/main/java/io/grpc/testing/integration/OkHttpClientInteropServlet.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertTrue;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
+import io.grpc.internal.MoreThrowables;
import io.grpc.okhttp.OkHttpChannelBuilder;
import java.io.IOException;
import java.io.PrintWriter;
@@ -181,8 +182,21 @@ public final class OkHttpClientInteropServlet extends HttpServlet {
return new AutoCloseable() {
@Override
public void close() throws Exception {
+ Throwable failure = null;
for (Method method : methods) {
- method.invoke(o);
+ try {
+ method.invoke(o);
+ } catch (Throwable t) {
+ if (failure == null) {
+ failure = t;
+ } else {
+ failure.addSuppressed(t);
+ }
+ }
+ }
+ if (failure != null) {
+ MoreThrowables.throwIfUnchecked(failure);
+ throw new Exception(failure);
}
}
};