On Fri, 29 Nov 2024 13:24:17 GMT, Volkan Yazıcı <d...@openjdk.org> wrote:

>> [8343791](https://bugs.openjdk.org/browse/JDK-8343791) (addressed by #22160) 
>> stresses that `Socket::connect()` failures should be handled such that the 
>> resultant state of the `Socket` and its underlying `SocketImpl` should 
>> match. In a similar fashion, `Socket::new` (which is using `bind()` and 
>> `connect()` under the hood) failures should not leave behind an open 
>> `SocketImpl` either. This change set, addressing 
>> [8345176](https://bugs.openjdk.org/browse/JDK-8345176), adds `CtorFailTest` 
>> verifying this behavior.
>
> Volkan Yazıcı has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Add `MockSocketImpl#toString()` to aid test output visuals

test/jdk/java/net/Socket/CtorFailTest.java line 166:

> 164:             }
> 165:             valueByKey.put("closeInvocationCounter", 
> closeInvocationCounter.get());
> 166:             return MockSocketImpl.class.getSimpleName() + valueByKey;

Have you considered using record instead of Map? You can create a local record 
class within a method...


        record MockSocket(Exception bindException, Exception connectException) 
{ }
        return new MockSocket(bindException, connectException).toString();

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22439#discussion_r1863590552

Reply via email to