showuon commented on code in PR #16264:
URL: https://github.com/apache/kafka/pull/16264#discussion_r1635625857


##########
clients/src/test/java/org/apache/kafka/test/TestUtils.java:
##########
@@ -556,10 +558,22 @@ public static Set<TopicPartition> 
generateRandomTopicPartitions(int numTopic, in
      * @return The caught exception cause
      */
     public static <T extends Throwable> T assertFutureThrows(Future<?> future, 
Class<T> exceptionCauseClass) {
-        ExecutionException exception = assertThrows(ExecutionException.class, 
future::get);
-        assertInstanceOf(exceptionCauseClass, exception.getCause(),
-            "Unexpected exception cause " + exception.getCause());
-        return exceptionCauseClass.cast(exception.getCause());
+        try {
+            future.get(5, TimeUnit.SECONDS);
+            fail("expected to throw ExecutionException...");
+        } catch (TimeoutException e) {
+            fail("timeout waiting");
+            return null;
+        } catch (ExecutionException e) {
+            ExecutionException exception = 
assertThrows(ExecutionException.class, future::get);
+            assertInstanceOf(exceptionCauseClass, exception.getCause(),
+                    "Unexpected exception cause " + exception.getCause());
+            return exceptionCauseClass.cast(exception.getCause());
+        } catch (InterruptedException e) {
+            fail("Unexpected exception cause" + e.getCause());
+            return null;
+        }
+        return null;

Review Comment:
   1. Please put the error message clearly. Do you think users understand what 
this error message mean when reading it: `expected to throw 
ExecutionException...`, `timeout waiting`? I wrote it like that is to let you 
have a start. You can check other places to learn how to put a clear error 
message.
   2. when `fail()` method invoked, do you know what will happen? 
   3. The method is `assertFutureThrows`, so what should we do if no exception 
thrown? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to