On Mon, 13 Jan 2025 14:42:04 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

>> Can I please get a review for this test-only change which proposes to skip 
>> this test when the `main()` is launched through a virtual thread?
>> 
>> This test was introduced in https://bugs.openjdk.org/browse/JDK-8233018 , 
>> before virtual threads were introduced. In its current form the test doesn't 
>> take into account the specification of `DatagramSocket.receive()` when a 
>> virtual thread is doing the `receive()`. There's already the 
>> `test/jdk/java/net/vthread/BlockingSocketOps.java` test which exercises the 
>> `receive()` through a virtual thread and verifies its specified behaviour, 
>> so we can skip this `InterruptibleDatagramSocket` test when a virtual thread 
>> is involved.
>> 
>> With the proposed change, the test no longer fails and is reported as 
>> skipped by jtreg.
>
> Jaikiran Pai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Alan's review - update skip reason

test/jdk/java/net/DatagramSocket/InterruptibleDatagramSocket.java line 104:

> 102:             throw new jtreg.SkippedException(
> 103:                     "skipping test execution - main thread is a virtual 
> thread");
> 104:         }

I wonder - would it work instead to replace:

test(s, false);

with

test(s, Thread.currentThread().isVirtual());


I am not sure it would work - because the exception that gets thrown could be 
different... But this would be a way to test both the main-is-virtual and 
main-is-not-virtual cases.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23074#discussion_r1913404913

Reply via email to