On Wed, 17 Jun 2026 07:12:07 GMT, Jaikiran Pai <[email protected]> wrote:
> Can I please get a review of this test-only change which proposes to improve > the debuggability of the `test/jdk/sun/nio/cs/TestStringCodingUTF8.java` test? > > This test fails intermittently in our CI in older update releases with errors > like: > > java.lang.RuntimeException: getBytes(csn) failed > at TestStringCodingUTF8.test(TestStringCodingUTF8.java:111) > at TestStringCodingUTF8.test(TestStringCodingUTF8.java:85) > at TestStringCodingUTF8.main(TestStringCodingUTF8.java:41) > > > It's not clear from the failures whether this is a test specific issue or > some genuine issue in some specific release of the JDK. Since the test uses a > `Random` instance to generate the data to test, it isn't easy to reproduce it > either. > > The change in this PR proposes to use the `RandomFactory` test library which > is equipped with printing the seed used by the `Random` instance. If the test > fails in future, the seed should help reproduce the test data that ran into > the failure. The change also improves the error messages in the test and > updates the `Collections.shuffle()` call to pass it the same `Random` > instance that's being used in the test. > > The test continues to pass with this change. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). test/jdk/sun/nio/cs/TestStringCodingUTF8.java line 115: > 113: //getBytes(csn); > 114: byte[] baStr = str.getBytes(cs.name()); > 115: if (!Arrays.equals(ba, baStr)) Maybe we could use `Arrays.mismatch()`, and prints the actual difference in the exception. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31548#discussion_r3431173118
