On 20 Jan 2016, at 06:36, Chris Hegarty <chris.hega...@oracle.com> wrote:

> Felix,
> 
> On 14 Jan 2016, at 06:07, Felix Yang <felix.y...@oracle.com> wrote:
> 
>> Hi all,
>>   please review the fix for 
>> test/java/net/SocketPermission/SocketPermissionTest.java, which fails 
>> frequently with "java.net.BindException: Address already in use".
>> 
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8065076
>> Webrev: http://cr.openjdk.java.net/~xiaofeya/8065076/webrev.00
> 
> My preference is to avoid getFreePort. It is problematic and I believe just 
> obfuscates
> the intermittent failures further.
> 
> In many of the test scenarios the “listening” socket can be created before 
> the specific
> access control context and associated permission are created.
> 
> I’ll see if I can get some time to try this out.

I spent a little time on this today. I basically rewrote the test, but kept the 
same test scenarios. The use of data providers was cute, but not workable
since there is no common supertype for the socket classes. I decided to 
just expand out the test cases manually. This will give the same test
coverage, but should be stable since it creates the sockets first, on an 
ephemeral port, and then constructs the permissions appropriately given
that port.

http://cr.openjdk.java.net/~chegar/8065076/

The webrev diffs are almost useless, just review the new file, and compare
test scenarios against the what is in the old file.

-Chris.


Reply via email to