RFR: 8291226: Create Test Cases to cover scenarios for JDK-8278067 [v16]

Ramesh Bhagavatam Gangadhar rgangadhar at openjdk.org
Tue Aug 30 17:55:08 UTC 2022


On Mon, 29 Aug 2022 14:26:09 GMT, Ramesh Bhagavatam Gangadhar <rgangadhar at openjdk.org> wrote:

>> There are total 160 scenarios written with combination of client properties (Client Scenarios) and Server Response (Server Scenarios).
>> 
>> In tabular format, Client and Server scenarios along with expected output are documented here:[Permalink](https://bugs.openjdk.org/browse/JDK-8291226?focusedCommentId=14519074&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14519074)
>> 
>> This Program Should be run mandatorily in othervm mode itself since it has system property changes so can't be clubbed with other scenarios. so each scenario should be run in individual JVM.
>> 
>> For each and every scenario, ServerSocket is created and waits for clients to connect to it.
>> isProxySet and serverReady are shared variables between server thread and client thread(main) and it should be set and reset to false for each and every scenario.
>> 
>> isProxySet and serverReady variables should be set by server thread before proceeding to client thread(main).
>> 
>> if isProxySet variable is set to true then client set the proxy value to url.openConnection(Proxy)
>> <SNIPPET>
>> if (isProxySet) { 
>>          httpUrlConnection = (sun.net.www.protocol.http.HttpURLConnection) url .openConnection(new Proxy(Type.HTTP, new InetSocketAddress("localhost", SERVER_PORT))); } 
>> else { 
>>         httpUrlConnection = (sun.net.www.protocol.http.HttpURLConnection) url.openConnection(); 
>> }
>> </SNIPPET>
>> 
>> Program tries to fetch the Value of <Key, Value> Pairs of HashMap KeepAliveCache where Key is KeepAliveKey and Value is ClientVector KeepAliveTimeout is stored in Value ClientVector of HashMap KeepAliveCache.
>> 
>> if connection is cached then KeepAliveTimeout is stored in ClientVector. KeepAliveTimeout stored in Value(ClientVector) of HashMap KeepAliveCache is compared with Expected Value.
>> 
>> if connection is not cached then connection is terminated immediately.
>
> Ramesh Bhagavatam Gangadhar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update KeepAliveTest.java
>   
>   updated description for methods

Hi Michael,

Could you please let me know suitable preferred type mentioned below for changes in documentation.
I have taken first scenario as example from table.

if below preferred types are not suitable suggest me better one.

/*Server Scenario */
private static final String A = CONNECTION_KEEP_ALIVE_ONLY;

/*Client Scenario*/
private static final String CLIENT_HTTP_KEEP_ALIVE_TIME_SERVER_POSITIVE = "http.keepAlive.time.server=100";
private static final String SERVER_100 = CLIENT_HTTP_KEEP_ALIVE_TIME_SERVER_POSITIVE;

PREFERRED TYPE ONE
===================
ScNo     |   SERVER RESPONSE                        | CLIENT SYSTEM PROPERTIES INPUT                      | EXPECTED CACHED TIMEOUT AT CLIENT SIDE
************************************************************************************************************************************************
1             |  Connection: keep-alive (A)              | -Dhttp.keepAlive.time.server=100 (SERVER_100)   | Client Timeout set to 100

PREFERRED TYPE TWO
==================
ScNo     |   SERVER RESPONSE                        | CLIENT SYSTEM PROPERTIES INPUT                      | EXPECTED CACHED TIMEOUT AT CLIENT SIDE
 ************************************************************************************************************************************************
1             |   A                                                        |  SERVER_100                                                               | Client Timeout set to 100

PREFERRED TYPE THREE
====================
ScNo     |   SERVER RESPONSE                        | CLIENT SYSTEM PROPERTIES INPUT                      | EXPECTED CACHED TIMEOUT AT CLIENT SIDE
 ************************************************************************************************************************************************
1            |   A                                                          | -Dhttp.keepAlive.time.server=100                            | Client Timeout set to 100

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

PR: https://git.openjdk.org/jdk/pull/9958


More information about the net-dev mailing list