RFR: 8264190: Harden TLS interop tests [v3]

Fernando Guallini fguallini at openjdk.java.net
Mon Mar 29 17:38:43 UTC 2021


On Mon, 29 Mar 2021 17:31:59 GMT, Fernando Guallini <fguallini at openjdk.org> wrote:

>> Occasional interop tests failures may occur when making use of the test/jdk/javax/net/ssl/TLSCommon/interop framework since there is no assurance the selected available port it is still free at the time a server using the framework starts up, for instance, by command line. To mitigate intermittent failures, this patch updates interop/BaseInteropTest.java in order to validate the server is alive and if not, retry to create a valid server.
>> 
>> In addition, Utilities::isSessionResumed implementation is now comparing equality of first and second session creation time to validate session resumption
>
> Fernando Guallini has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Improve JdkServer::close and Utilities::waitFor methods

test/jdk/javax/net/ssl/TLSCommon/interop/JdkServer.java line 145:

> 143:     @Override
> 144:     public void close() throws IOException {
> 145:         if (!serverSocket.isClosed()) {

isAlive can be overridden with a more complex implementation, whereas the only default requirement to close the socket in this case is checking it is not already closed.

test/jdk/javax/net/ssl/TLSCommon/interop/Utilities.java line 220:

> 218:      *  Sleeps until the condition is true or getting timeout.
> 219:      */
> 220:     public static <T> boolean waitFor(Predicate<T> predicate, T t) {

waitFor method was evaluating predicate at least twice with previous implementation even when true

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

PR: https://git.openjdk.java.net/jdk/pull/3218



More information about the security-dev mailing list