On Tue, 23 Aug 2022 05:31:31 GMT, Ramesh Bhagavatam Gangadhar 
<[email protected]> 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 with a new target 
> base due to a merge or a rebase. The incremental webrev excludes the 
> unrelated changes brought in by the merge/rebase. The pull request contains 
> 10 additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into 8291226
>  - Merge branch 'openjdk:master' into 8291226
>  - aligned imports and removed whitespaces
>  - Removed additional whitespaces
>  - Renamed method names
>    
>    renamed method createServer name to executeServer
>  - Update KeepAliveTest.java
>    
>    Removed White Spaces
>  - Update KeepAliveTest.java
>    
>    Renamed Methods like startScenario, runClient, startServer, 
> connectToServerURL
>    added final to constants
>    Changed clientScenarios array
>    Changed serverScenarios array
>    added IllegalArgumentException
>    Replaced TIMEOUT with CountDownLatch
>    Added Comments
>  - Update and rename KeepAliveTest to KeepAliveTest.java
>    
>    1. Increased space from 2 to 4.
>    2. skipped test scenarios from 113 to 128 && 145 to 160
>  - Merge branch 'openjdk:master' into 8291226
>  - Create KeepAliveTest

test/jdk/sun/net/www/http/HttpClient/KeepAliveTest.java line 337:

> 335:     private String getServerScenario(int scenarioNumber) {
> 336:         if(scenarioNumber >= 0 && scenarioNumber <= 15) {
> 337:             return A;

might be good to have a comment before each return statement that shortly 
describe what the returned scenario is about.

test/jdk/sun/net/www/http/HttpClient/KeepAliveTest.java line 547:

> 545:     private void fetchInfo(int scenarioNumber, 
> sun.net.www.protocol.http.HttpURLConnection httpUrlConnection)
> 546:         throws Exception {
> 547:             Field field = 
> Class.forName("sun.net.www.protocol.http.HttpURLConnection").getDeclaredField("http");

Strange tabs here: eight spaces should be enough for a method body.

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

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

Reply via email to