diff options
Diffstat (limited to 'lib/common_test/test/ct_telnet_SUITE_data')
-rw-r--r-- | lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl b/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl index 0277dc2a44..394d64c2ed 100644 --- a/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl +++ b/lib/common_test/test/ct_telnet_SUITE_data/ct_telnet_own_server_SUITE.erl @@ -29,7 +29,8 @@ all() -> ignore_prompt_repeat, ignore_prompt_sequence, ignore_prompt_timeout, - server_speaks]. + server_speaks, + server_disconnects]. groups() -> []. @@ -190,18 +191,36 @@ no_prompt_check_timeout(_) -> ok = ct_telnet:close(Handle), ok. -%% Let the server say things, to make sure it gets printed correctly -%% in the general IO log +%% The server says things. Manually check that it gets printed correctly +%% in the general IO log. server_speaks(_) -> {ok, Handle} = ct_telnet:open(telnet_server_conn1), - ok = ct_telnet:send(Handle, "echo This is the first message"), - ok = ct_telnet:send(Handle, "echo This is the second message"), + ok = ct_telnet:send(Handle, "echo_no_prompt This is the first message\r\n"), + ok = ct_telnet:send(Handle, "echo_no_prompt This is the second message\r\n"), %% let ct_telnet_client get an idle timeout timer:sleep(15000), - ok = ct_telnet:send(Handle, "echo This is the third message"), + ok = ct_telnet:send(Handle, "echo_no_prompt This is the third message\r\n"), {ok,_} = ct_telnet:expect(Handle, ["the"], [no_prompt_check]), {error,timeout} = ct_telnet:expect(Handle, ["the"], [no_prompt_check, {timeout,1000}]), - ok = ct_telnet:send(Handle, "echo This is the fourth message"), + ok = ct_telnet:send(Handle, "echo_no_prompt This is the fourth message\r\n"), + %% give the server time to respond + timer:sleep(2000), + %% closing the connection should print last message in log ok = ct_telnet:close(Handle), ok. + +%% Let the server close the connection. Make sure buffered data gets printed +%% to the general IO log. +server_disconnects(_) -> + {ok, Handle} = ct_telnet:open(telnet_server_conn1), + ok = ct_telnet:send(Handle, "disconnect_after 1500"), + %% wait until the get_data operation (triggered by send/2) times out + %% before sending the msg + timer:sleep(500), + ok = ct_telnet:send(Handle, "echo_no_prompt This is the message\r\n"), + %% when the server closes the connection, the last message should be + %% printed in the log + timer:sleep(3000), + _ = ct_telnet:close(Handle), + ok. |