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)
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(); }
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.

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

Commit messages:
 - Create KeepAliveTest

Changes: https://git.openjdk.org/jdk/pull/9958/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9958&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8291226
  Stats: 586 lines in 1 file changed: 586 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/9958.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9958/head:pull/9958

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

Reply via email to