[ 
https://issues.apache.org/jira/browse/HDFS-17828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18020311#comment-18020311
 ] 

ASF GitHub Bot commented on HDFS-17828:
---------------------------------------

steveloughran commented on code in PR #7955:
URL: https://github.com/apache/hadoop/pull/7955#discussion_r2348675298


##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java:
##########
@@ -345,6 +356,33 @@ public static void assertExceptionContains(String 
expectedText,
     }
   }
 
+  /**
+   * Assert that an exception's <code>toString()</code> value
+   * matches the pattern.
+   * @param pattern regex pattern to match
+   * @param t thrown exception
+   * @param message any extra text for the string
+   * @throws AssertionError if the expected string is not found
+   */
+  public static void assertExceptionMatches(Pattern pattern,
+      Throwable t,

Review Comment:
   rename to "caught"



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java:
##########
@@ -345,6 +356,33 @@ public static void assertExceptionContains(String 
expectedText,
     }
   }
 
+  /**
+   * Assert that an exception's <code>toString()</code> value
+   * matches the pattern.
+   * @param pattern regex pattern to match
+   * @param t thrown exception
+   * @param message any extra text for the string
+   * @throws AssertionError if the expected string is not found
+   */
+  public static void assertExceptionMatches(Pattern pattern,
+      Throwable t,
+      String message) {
+    assertNotNull(t, E_NULL_THROWABLE);
+    String msg = t.toString();
+    if (msg == null) {
+      throw new AssertionError(E_NULL_THROWABLE_STRING, t);
+    }
+    if (pattern != null && !pattern.matcher(msg).matches()) {

Review Comment:
   if a null pattern is passed in this test does nearly nothing. is that 
appropriate? I'd rather it failed with an error about a null pattern passed 
down, with that caught exception included in the chain just in case it is 
useful.



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java:
##########
@@ -345,6 +356,33 @@ public static void assertExceptionContains(String 
expectedText,
     }
   }
 
+  /**
+   * Assert that an exception's <code>toString()</code> value
+   * matches the pattern.
+   * @param pattern regex pattern to match
+   * @param t thrown exception
+   * @param message any extra text for the string
+   * @throws AssertionError if the expected string is not found
+   */
+  public static void assertExceptionMatches(Pattern pattern,
+      Throwable t,
+      String message) {
+    assertNotNull(t, E_NULL_THROWABLE);
+    String msg = t.toString();
+    if (msg == null) {
+      throw new AssertionError(E_NULL_THROWABLE_STRING, t);
+    }
+    if (pattern != null && !pattern.matcher(msg).matches()) {
+      String prefix = org.apache.commons.lang3.StringUtils.isEmpty(message)

Review Comment:
   our own StringUtils.hasLength(message) does this. silly name but at least 
unique.



##########
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java:
##########
@@ -345,6 +356,33 @@ public static void assertExceptionContains(String 
expectedText,
     }
   }
 
+  /**
+   * Assert that an exception's <code>toString()</code> value
+   * matches the pattern.
+   * @param pattern regex pattern to match
+   * @param t thrown exception
+   * @param message any extra text for the string
+   * @throws AssertionError if the expected string is not found
+   */
+  public static void assertExceptionMatches(Pattern pattern,
+      Throwable t,
+      String message) {
+    assertNotNull(t, E_NULL_THROWABLE);
+    String msg = t.toString();

Review Comment:
   rename to caughtString; as msg means "message" to me, and it isn't as the 
code doesn't use getMessage(). (which I'm happy with not using)





> SocketTimeoutException not recognized in TestWebHdfsTimeouts with Java 24
> -------------------------------------------------------------------------
>
>                 Key: HDFS-17828
>                 URL: https://issues.apache.org/jira/browse/HDFS-17828
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs, test
>    Affects Versions: 3.5.0
>            Reporter: Istvan Toth
>            Assignee: Istvan Toth
>            Priority: Major
>              Labels: java24, pull-request-available
>
> Java 24 capitalizes "Connect" in th Exception message, which the test does 
> not recognize.
> {noformat}
> [ERROR] 
> org.apache.hadoop.hdfs.web.TestWebHdfsTimeouts.testAuthUrlConnectTimeout(TimeoutSource)[2]
>  -- Time elapsed: 0.313 s <<< FAILURE!
> java.lang.AssertionError: 
>  Expected to find 'localhost:33473: connect timed out' but got unexpected 
> exception: java.net.SocketTimeoutException: localhost:33473: Connect timed out
>         at 
> java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:537)
>         at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to