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