From ca7b3dad119438e66a3945d6f447eb4b80ba12f4 Mon Sep 17 00:00:00 2001 From: Eric Anderson Date: Wed, 7 Mar 2018 13:28:41 -0800 Subject: [PATCH] interop-testing: Improve failure messages for ping_ping Timeouts and Status returns can be common, and previously those cases weren't that clear. For example, if there was a StatusRuntimeException it would just print the status code and message, but not the causal chain. --- .../io/grpc/testing/integration/AbstractInteropTest.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java index 15609e421a..e54b3cc982 100644 --- a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java +++ b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java @@ -703,8 +703,12 @@ public abstract class AbstractInteropTest { for (int i = 0; i < requests.size(); i++) { assertNull(queue.peek()); requestObserver.onNext(requests.get(i)); - assertEquals(goldenResponses.get(i), - queue.poll(operationTimeoutMillis(), TimeUnit.MILLISECONDS)); + Object actualResponse = queue.poll(operationTimeoutMillis(), TimeUnit.MILLISECONDS); + assertNotNull("Timed out waiting for response", actualResponse); + if (actualResponse instanceof Throwable) { + throw new AssertionError((Throwable) actualResponse); + } + assertEquals(goldenResponses.get(i), actualResponse); } requestObserver.onCompleted(); assertEquals("Completed", queue.poll(operationTimeoutMillis(), TimeUnit.MILLISECONDS));