[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-net-dev
Subject:    Re: RFR: 8291226: Create Test Cases to cover scenarios for JDK-8278067 [v16]
From:       Michael McMahon <michaelm () openjdk ! org>
Date:       2022-08-30 20:17:19
Message-ID: dUldo44t6FtRJQH1SMYP5R8a4R_orMYMB_evMmVNA8Y=.447e8d72-0a3b-4c7f-8029-a4a091b736d6 () github ! com
[Download RAW message or body]

On Mon, 29 Aug 2022 14:26:09 GMT, Ramesh Bhagavatam Gangadhar \
<rgangadhar@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?focusedCom \
> > mentId=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

Hi Ramesh

Thanks for considering this. I think Type One looks the most straightforward, but any \
will do

Michael

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic