diff options
Diffstat (limited to 'lib/ssl/test/ssl_session_cache_SUITE.erl')
-rw-r--r-- | lib/ssl/test/ssl_session_cache_SUITE.erl | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/ssl/test/ssl_session_cache_SUITE.erl b/lib/ssl/test/ssl_session_cache_SUITE.erl index 62d404092f..5d96b457ed 100644 --- a/lib/ssl/test/ssl_session_cache_SUITE.erl +++ b/lib/ssl/test/ssl_session_cache_SUITE.erl @@ -207,24 +207,34 @@ session_cleanup(Config)when is_list(Config) -> %% Make sure session is registered test_server:sleep(?SLEEP), + {status, _, _, StatusInfo} = sys:get_status(whereis(ssl_manager)), + [_, _,_, _, Prop] = StatusInfo, + State = state(Prop), + Cache = element(2, State), + Id = proplists:get_value(session_id, SessionInfo), - CSession = ssl_session_cache:lookup(ssl_otp_session_cache, {{Hostname, Port}, Id}), - SSession = ssl_session_cache:lookup(ssl_otp_session_cache, {Port, Id}), + CSession = ssl_session_cache:lookup(Cache, {{Hostname, Port}, Id}), + SSession = ssl_session_cache:lookup(Cache, {Port, Id}), true = CSession =/= undefined, true = SSession =/= undefined, %% Make sure session has expired and been cleaned up test_server:sleep(5000), %% Expire time - test_server:sleep(?SLEEP *4), %% Clean up delay + test_server:sleep((?SLEEP*20), %% Clean up delay (very small in this test case) + some extra time - undefined = ssl_session_cache:lookup(ssl_otp_session_cache, {{Hostname, Port}, Id}), - undefined = ssl_session_cache:lookup(ssl_otp_session_cache, {Port, Id}), + undefined = ssl_session_cache:lookup(Cache, {{Hostname, Port}, Id}), + undefined = ssl_session_cache:lookup(Cache, {Port, Id}), process_flag(trap_exit, false), ssl_test_lib:close(Server), ssl_test_lib:close(Client). +state([{data,[{"State", State}]} | _]) -> + State; +state([_ | Rest]) -> + state(Rest). + %%-------------------------------------------------------------------- session_cache_process_list(doc) -> ["Test reuse of sessions (short handshake)"]; |