RFR: 8294375: test/jdk/java/nio/channels/vthread/BlockingChannelOps.java is slow
Jaikiran Pai
jpai at openjdk.org
Tue Sep 27 12:19:51 UTC 2022
On Tue, 27 Sep 2022 12:02:06 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> test/jdk/java/nio/channels/vthread/BlockingChannelOps.java line 206:
>>
>>> 204: assertTrue(n > 0);
>>> 205: bb.clear();
>>> 206: }
>>
>> Hello Alan, since `AsynchronousCloseException` is expected here, should we add a `fail` after this loop if we don't receive that exception
>
> It's an infinite loop as write may need to be called many times before it blocks. So you can't put a `fail` after the loop as it will never be executed. If another exception is thrown then the test will fail.
You are right; I overlooked the part that this `for` loop is infinite. So, for this test method to complete, the only way out of that `for` loop is some exception getting thrown and we then catch the expected exception and ignore it or let the unexpected exception propagate into a test failure. So yes, the current code looks fine.
-------------
PR: https://git.openjdk.org/jdk/pull/10427
More information about the nio-dev
mailing list