RFR 7116200: (cs) test/java/nio/charset/coders/StreamTimeout.java fails with "Address already in use"

Alan Bateman Alan.Bateman at oracle.com
Wed Apr 11 20:02:10 UTC 2012


On 11/04/2012 19:06, Jim Gish wrote:
> Hi,
>
> Please review the following
>
> Description:
>
> The current code uses the fixed port of 22222 and the test fails if 
> that port is in use.  The patch creates the socket on any open port 
> using new ServerSocket(0) and then determines the port in use with 
> getLocalPort() on the socket.  That port is then used when creating 
> the client.  This ensures the test won't fail with "address already in 
> use".
>
> Also, all sockets are closed when done. (Would appreciate comments on 
> whether I have engaged in overkill here, or not.)
>
> Patch:
>
> http://cr.openjdk.java.net/~jgish/7116200/webrev.00/
>
> Tests run: jdk_nio3 -- all pass.
>
> Thanks,
>    Jim Gish
I agree with Rémi, it would be better for Client to have a final field 
for the port or the client Socket and have it passed to the constructor. 
It would also be nice if Client implemented Closeable.

One other thing is that try-with-resources with clean-up the 
closing/exception handling in main. Also I think it would be better not 
to catch the IOException at the end as that would mean the test would 
pass when there is failure.

-Alan.







More information about the core-libs-dev mailing list