aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/test
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2016-02-23 16:31:39 +0100
committerHans Nilsson <[email protected]>2016-02-23 16:31:39 +0100
commit739a8f167d8adbb85f3c116c8c3bb20263f15349 (patch)
tree2931ad62890be30d26126be1dc2052b583c16e04 /lib/ssh/test
parentbd5c928e1c47f05d0d7b18f4e28e42d276cfc038 (diff)
parentfaa11910e0214ba05747ca8579e14efa421e3d02 (diff)
downloadotp-739a8f167d8adbb85f3c116c8c3bb20263f15349.tar.gz
otp-739a8f167d8adbb85f3c116c8c3bb20263f15349.tar.bz2
otp-739a8f167d8adbb85f3c116c8c3bb20263f15349.zip
Merge branch 'hans/ssh/maint_cuddle_tests' into maint
Diffstat (limited to 'lib/ssh/test')
-rw-r--r--lib/ssh/test/ssh_algorithms_SUITE.erl28
-rw-r--r--lib/ssh/test/ssh_basic_SUITE.erl27
-rw-r--r--lib/ssh/test/ssh_benchmark_SUITE.erl5
-rw-r--r--lib/ssh/test/ssh_connection_SUITE.erl15
-rw-r--r--lib/ssh/test/ssh_options_SUITE.erl16
-rw-r--r--lib/ssh/test/ssh_protocol_SUITE.erl23
-rw-r--r--lib/ssh/test/ssh_renegotiate_SUITE.erl16
-rw-r--r--lib/ssh/test/ssh_sftp_SUITE.erl24
-rw-r--r--lib/ssh/test/ssh_sftpd_SUITE.erl28
-rw-r--r--lib/ssh/test/ssh_sftpd_erlclient_SUITE.erl31
-rw-r--r--lib/ssh/test/ssh_test_lib.erl9
-rw-r--r--lib/ssh/test/ssh_to_openssh_SUITE.erl20
-rw-r--r--lib/ssh/test/ssh_upgrade_SUITE.erl25
13 files changed, 109 insertions, 158 deletions
diff --git a/lib/ssh/test/ssh_algorithms_SUITE.erl b/lib/ssh/test/ssh_algorithms_SUITE.erl
index f0ac92fef6..a03a9ee0f2 100644
--- a/lib/ssh/test/ssh_algorithms_SUITE.erl
+++ b/lib/ssh/test/ssh_algorithms_SUITE.erl
@@ -35,7 +35,8 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
all() ->
%% [{group,kex},{group,cipher}... etc
@@ -90,18 +91,12 @@ init_per_suite(Config) ->
?MAX_NUM_ALGORITHMS
]),
ct:log("all() ->~n ~p.~n~ngroups()->~n ~p.~n",[all(),groups()]),
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- ssh:start(),
- [{std_simple_sftp_size,25000} % Sftp transferred data size
- | setup_pubkey(Config)];
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
+ ssh:start(),
+ [{std_simple_sftp_size,25000} % Sftp transferred data size
+ | setup_pubkey(Config)].
+
end_per_suite(_Config) ->
- ssh:stop(),
- crypto:stop().
+ ssh:stop().
init_per_group(Group, Config) ->
@@ -231,8 +226,11 @@ sshc_simple_exec(Config) ->
" ",Host," 1+1."]),
ct:log("~p",[Cmd]),
SshPort = open_port({spawn, Cmd}, [binary]),
+ Expect = <<"2\n">>,
receive
- {SshPort,{data, <<"2\n">>}} ->
+ {SshPort, {data,Expect}} ->
+ ct:log("Got expected ~p from ~p",[Expect,SshPort]),
+ catch port_close(SshPort),
ok
after ?TIMEOUT ->
ct:fail("Did not receive answer")
@@ -273,7 +271,9 @@ sshd_simple_exec(_Config) ->
ConnectionRef, ChannelId1);
Other1 ->
ct:fail(Other1)
- end.
+ end,
+ ssh:close(ConnectionRef).
+
%%%================================================================
%%%
diff --git a/lib/ssh/test/ssh_basic_SUITE.erl b/lib/ssh/test/ssh_basic_SUITE.erl
index 4b53f6ec57..564fb66586 100644
--- a/lib/ssh/test/ssh_basic_SUITE.erl
+++ b/lib/ssh/test/ssh_basic_SUITE.erl
@@ -78,7 +78,8 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
all() ->
[app_test,
@@ -129,16 +130,11 @@ basic_tests() ->
%%--------------------------------------------------------------------
init_per_suite(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- Config;
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
+ Config.
+
end_per_suite(_Config) ->
- ssh:stop(),
- crypto:stop().
+ ssh:stop().
+
%%--------------------------------------------------------------------
init_per_group(dsa_key, Config) ->
DataDir = ?config(data_dir, Config),
@@ -441,6 +437,7 @@ exec(Config) when is_list(Config) ->
ct:fail(Other1)
end,
ssh_test_lib:receive_exec_end(ConnectionRef, ChannelId1),
+ ssh:close(ConnectionRef),
ssh:stop_daemon(Pid).
%%--------------------------------------------------------------------
@@ -474,6 +471,7 @@ exec_compressed(Config) when is_list(Config) ->
ct:fail(Other)
end,
ssh_test_lib:receive_exec_end(ConnectionRef, ChannelId),
+ ssh:close(ConnectionRef),
ssh:stop_daemon(Pid)
end.
@@ -979,7 +977,10 @@ shell_no_unicode(Config) ->
new_do_shell(?config(io,Config),
[new_prompt,
{type,"io:format(\"hej ~p~n\",[42])."},
- {expect,"hej 42"}
+ {expect,"hej 42"},
+ {expect,"ok"},
+ new_prompt,
+ {type,"exit()."}
]).
%%--------------------------------------------------------------------
@@ -988,7 +989,9 @@ shell_unicode_string(Config) ->
[new_prompt,
{type,"io:format(\"こにちわ~ts~n\",[\"四二\"])."},
{expect,"こにちわ四二"},
- {expect,"ok"}
+ {expect,"ok"},
+ new_prompt,
+ {type,"exit()."}
]).
%%--------------------------------------------------------------------
diff --git a/lib/ssh/test/ssh_benchmark_SUITE.erl b/lib/ssh/test/ssh_benchmark_SUITE.erl
index e90bfa3d16..fe90da3028 100644
--- a/lib/ssh/test/ssh_benchmark_SUITE.erl
+++ b/lib/ssh/test/ssh_benchmark_SUITE.erl
@@ -44,9 +44,7 @@ groups() ->
init_per_suite(Config) ->
catch ssh:stop(),
- catch crypto:stop(),
try
- ok = crypto:start(),
report_client_algorithms(),
ok = ssh:start(),
{ok,TracerPid} = erlang_trace(),
@@ -58,7 +56,6 @@ init_per_suite(Config) ->
end_per_suite(_Config) ->
catch ssh:stop(),
- catch crypto:stop(),
ok.
@@ -406,7 +403,7 @@ function_algs_times_sizes(EncDecs, L) ->
end
|| EncDec <- EncDecs,
C = #call{mfa = ED,
- args = Args, %%[S,Data],
+ % args = Args, %%[S,Data],
t_call = T0,
t_return = T1} <- L,
ED == EncDec
diff --git a/lib/ssh/test/ssh_connection_SUITE.erl b/lib/ssh/test/ssh_connection_SUITE.erl
index 1b93cc9c32..67d870bea4 100644
--- a/lib/ssh/test/ssh_connection_SUITE.erl
+++ b/lib/ssh/test/ssh_connection_SUITE.erl
@@ -36,6 +36,9 @@
%% suite() ->
%% [{ct_hooks,[ts_install_cth]}].
+suite() ->
+ [{timetrap,{minutes,5}}].
+
all() ->
[
{group, openssh},
@@ -67,16 +70,10 @@ ptty() ->
%%--------------------------------------------------------------------
init_per_suite(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- Config;
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
+ Config.
-end_per_suite(_Config) ->
- crypto:stop().
+end_per_suite(Config) ->
+ Config.
%%--------------------------------------------------------------------
init_per_group(openssh, Config) ->
diff --git a/lib/ssh/test/ssh_options_SUITE.erl b/lib/ssh/test/ssh_options_SUITE.erl
index 6a201d401f..e0ef3a4b05 100644
--- a/lib/ssh/test/ssh_options_SUITE.erl
+++ b/lib/ssh/test/ssh_options_SUITE.erl
@@ -79,7 +79,8 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
all() ->
[connectfun_disconnectfun_server,
@@ -125,16 +126,11 @@ groups() ->
%%--------------------------------------------------------------------
init_per_suite(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- Config;
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
+ Config.
+
end_per_suite(_Config) ->
- ssh:stop(),
- crypto:stop().
+ ssh:stop().
+
%%--------------------------------------------------------------------
init_per_group(hardening_tests, Config) ->
DataDir = ?config(data_dir, Config),
diff --git a/lib/ssh/test/ssh_protocol_SUITE.erl b/lib/ssh/test/ssh_protocol_SUITE.erl
index fe197f8672..b6603d29e5 100644
--- a/lib/ssh/test/ssh_protocol_SUITE.erl
+++ b/lib/ssh/test/ssh_protocol_SUITE.erl
@@ -42,7 +42,8 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
all() ->
[{group,tool_tests},
@@ -579,23 +580,11 @@ client_handles_keyboard_interactive_0_pwds(Config) ->
%%%---- init_suite and end_suite ---------------------------------------
start_apps(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- catch ssh:stop(),
- ok = ssh:start(),
- [{stop_apps,
- fun() ->
- ssh:stop(),
- crypto:stop()
- end} | Config];
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
-
+ catch ssh:stop(),
+ ok = ssh:start(),
+ Config.
-stop_apps(Config) ->
- (?v(stop_apps, Config, fun()-> ok end))(),
+stop_apps(_Config) ->
ssh:stop().
diff --git a/lib/ssh/test/ssh_renegotiate_SUITE.erl b/lib/ssh/test/ssh_renegotiate_SUITE.erl
index e5cfa58bad..fabe9a5829 100644
--- a/lib/ssh/test/ssh_renegotiate_SUITE.erl
+++ b/lib/ssh/test/ssh_renegotiate_SUITE.erl
@@ -30,7 +30,9 @@
%% Common Test interface functions -----------------------------------
%%--------------------------------------------------------------------
-suite() -> [{ct_hooks,[ts_install_cth]}].
+suite() -> [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,15}}].
+
all() -> [{group,default_algs},
{group,aes_gcm}
@@ -44,16 +46,10 @@ tests() -> [rekey, rekey_limit, renegotiate1, renegotiate2].
%%--------------------------------------------------------------------
init_per_suite(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- Config;
- _Else ->
- {skip, "Crypto could not be started!"}
- end.
+ Config.
+
end_per_suite(_Config) ->
- ssh:stop(),
- crypto:stop().
+ ssh:stop().
%%--------------------------------------------------------------------
init_per_group(aes_gcm, Config) ->
diff --git a/lib/ssh/test/ssh_sftp_SUITE.erl b/lib/ssh/test/ssh_sftp_SUITE.erl
index 698af259c8..6066221fc7 100644
--- a/lib/ssh/test/ssh_sftp_SUITE.erl
+++ b/lib/ssh/test/ssh_sftp_SUITE.erl
@@ -35,7 +35,9 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
+
all() ->
[{group, not_unicode},
@@ -44,22 +46,14 @@ all() ->
init_per_suite(Config) ->
- catch crypto:stop(),
- case (catch crypto:start()) of
- ok ->
- ct:log("file:native_name_encoding() = ~p,~nio:getopts() = ~p",
- [file:native_name_encoding(),io:getopts()]),
- ssh:start(),
- Config;
- _ ->
- {skip,"Could not start crypto!"}
- end.
-
-end_per_suite(Config) ->
- ssh:stop(),
- crypto:stop(),
+ ct:log("file:native_name_encoding() = ~p,~nio:getopts() = ~p",
+ [file:native_name_encoding(),io:getopts()]),
+ ssh:start(),
Config.
+end_per_suite(_onfig) ->
+ ssh:stop().
+
%%--------------------------------------------------------------------
groups() ->
[{not_unicode, [], [{group,erlang_server},
diff --git a/lib/ssh/test/ssh_sftpd_SUITE.erl b/lib/ssh/test/ssh_sftpd_SUITE.erl
index 6b03a2b763..687f327206 100644
--- a/lib/ssh/test/ssh_sftpd_SUITE.erl
+++ b/lib/ssh/test/ssh_sftpd_SUITE.erl
@@ -44,6 +44,9 @@
%% Common Test interface functions -----------------------------------
%%--------------------------------------------------------------------
+suite() ->
+ [{timetrap,{minutes,5}}].
+
all() ->
[open_close_file,
open_close_dir,
@@ -69,28 +72,21 @@ groups() ->
%%--------------------------------------------------------------------
init_per_suite(Config) ->
- catch crypto:stop(),
- case (catch crypto:start()) of
- ok ->
- DataDir = ?config(data_dir, Config),
- PrivDir = ?config(priv_dir, Config),
- ssh_test_lib:setup_dsa(DataDir, PrivDir),
- %% to make sure we don't use public-key-auth
- %% this should be tested by other test suites
- UserDir = filename:join(?config(priv_dir, Config), nopubkey),
- file:make_dir(UserDir),
- Config;
- _ ->
- {skip,"Could not start crypto!"}
- end.
+ DataDir = ?config(data_dir, Config),
+ PrivDir = ?config(priv_dir, Config),
+ ssh_test_lib:setup_dsa(DataDir, PrivDir),
+ %% to make sure we don't use public-key-auth
+ %% this should be tested by other test suites
+ UserDir = filename:join(?config(priv_dir, Config), nopubkey),
+ file:make_dir(UserDir),
+ Config.
end_per_suite(Config) ->
SysDir = ?config(priv_dir, Config),
ssh_test_lib:clean_dsa(SysDir),
UserDir = filename:join(?config(priv_dir, Config), nopubkey),
file:del_dir(UserDir),
- ssh:stop(),
- crypto:stop().
+ ssh:stop().
%%--------------------------------------------------------------------
diff --git a/lib/ssh/test/ssh_sftpd_erlclient_SUITE.erl b/lib/ssh/test/ssh_sftpd_erlclient_SUITE.erl
index 7a025a6518..84410f60e6 100644
--- a/lib/ssh/test/ssh_sftpd_erlclient_SUITE.erl
+++ b/lib/ssh/test/ssh_sftpd_erlclient_SUITE.erl
@@ -36,7 +36,9 @@
%%--------------------------------------------------------------------
suite() ->
- [{ct_hooks,[ts_install_cth]}].
+ [{ct_hooks,[ts_install_cth]},
+ {timetrap,{minutes,5}}].
+
all() ->
[close_file,
@@ -53,29 +55,22 @@ groups() ->
init_per_suite(Config) ->
catch ssh:stop(),
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- DataDir = ?config(data_dir, Config),
- PrivDir = ?config(priv_dir, Config),
- FileAlt = filename:join(DataDir, "ssh_sftpd_file_alt.erl"),
- c:c(FileAlt),
- FileName = filename:join(DataDir, "test.txt"),
- {ok, FileInfo} = file:read_file_info(FileName),
- ok = file:write_file_info(FileName,
- FileInfo#file_info{mode = 8#400}),
- ssh_test_lib:setup_dsa(DataDir, PrivDir),
- Config;
- _Else ->
- {skip,"Could not start ssh!"}
- end.
+ DataDir = ?config(data_dir, Config),
+ PrivDir = ?config(priv_dir, Config),
+ FileAlt = filename:join(DataDir, "ssh_sftpd_file_alt.erl"),
+ c:c(FileAlt),
+ FileName = filename:join(DataDir, "test.txt"),
+ {ok, FileInfo} = file:read_file_info(FileName),
+ ok = file:write_file_info(FileName,
+ FileInfo#file_info{mode = 8#400}),
+ ssh_test_lib:setup_dsa(DataDir, PrivDir),
+ Config.
end_per_suite(Config) ->
UserDir = filename:join(?config(priv_dir, Config), nopubkey),
file:del_dir(UserDir),
SysDir = ?config(priv_dir, Config),
ssh_test_lib:clean_dsa(SysDir),
- crypto:stop(),
ok.
%%--------------------------------------------------------------------
diff --git a/lib/ssh/test/ssh_test_lib.erl b/lib/ssh/test/ssh_test_lib.erl
index 2db55b97b4..5f91fb627a 100644
--- a/lib/ssh/test/ssh_test_lib.erl
+++ b/lib/ssh/test/ssh_test_lib.erl
@@ -120,7 +120,8 @@ std_simple_exec(Host, Port, Config, Opts) ->
Other ->
ct:fail(Other)
end,
- ssh_test_lib:receive_exec_end(ConnectionRef, ChannelId).
+ ssh_test_lib:receive_exec_end(ConnectionRef, ChannelId),
+ ssh:close(ConnectionRef).
start_shell(Port, IOServer, UserDir) ->
@@ -154,14 +155,12 @@ loop_io_server(TestCase, Buff0) ->
{input, TestCase, Line} ->
loop_io_server(TestCase, Buff0 ++ [Line]);
{io_request, From, ReplyAs, Request} ->
-%%ct:log("~p",[{io_request, From, ReplyAs, Request}]),
{ok, Reply, Buff} = io_request(Request, TestCase, From,
ReplyAs, Buff0),
-%%ct:log("io_request(~p)-->~p",[Request,{ok, Reply, Buff}]),
io_reply(From, ReplyAs, Reply),
loop_io_server(TestCase, Buff);
- {'EXIT',_, _} ->
- erlang:display('ssh_test_lib:loop_io_server/2 EXIT'),
+ {'EXIT',_, _} = _Exit ->
+%% ct:log("ssh_test_lib:loop_io_server/2 got ~p",[_Exit]),
ok
after
30000 -> ct:fail("timeout ~p:~p",[?MODULE,?LINE])
diff --git a/lib/ssh/test/ssh_to_openssh_SUITE.erl b/lib/ssh/test/ssh_to_openssh_SUITE.erl
index 67a61d3c11..37885dfdef 100644
--- a/lib/ssh/test/ssh_to_openssh_SUITE.erl
+++ b/lib/ssh/test/ssh_to_openssh_SUITE.erl
@@ -33,6 +33,9 @@
%% Common Test interface functions -----------------------------------
%%--------------------------------------------------------------------
+suite() ->
+ [{timetrap,{minutes,5}}].
+
all() ->
case os:find_executable("ssh") of
false ->
@@ -57,21 +60,14 @@ groups() ->
].
init_per_suite(Config) ->
- catch crypto:stop(),
- case catch crypto:start() of
- ok ->
- case gen_tcp:connect("localhost", 22, []) of
- {error,econnrefused} ->
- {skip,"No openssh deamon"};
- _ ->
- ssh_test_lib:openssh_sanity_check(Config)
- end;
- _Else ->
- {skip,"Could not start crypto!"}
+ case gen_tcp:connect("localhost", 22, []) of
+ {error,econnrefused} ->
+ {skip,"No openssh deamon"};
+ _ ->
+ ssh_test_lib:openssh_sanity_check(Config)
end.
end_per_suite(_Config) ->
- crypto:stop(),
ok.
init_per_group(erlang_server, Config) ->
diff --git a/lib/ssh/test/ssh_upgrade_SUITE.erl b/lib/ssh/test/ssh_upgrade_SUITE.erl
index 85f4d36258..006483d3ee 100644
--- a/lib/ssh/test/ssh_upgrade_SUITE.erl
+++ b/lib/ssh/test/ssh_upgrade_SUITE.erl
@@ -38,6 +38,9 @@
%%%
%%% CommonTest callbacks
%%%
+suite() ->
+ [{timetrap,{minutes,5}}].
+
all() ->
[
minor_upgrade,
@@ -45,27 +48,17 @@ all() ->
].
init_per_suite(Config0) ->
- catch crypto:stop(),
- try {crypto:start(), erlang:system_info({wordsize, internal}) ==
- erlang:system_info({wordsize, external})} of
- {ok, true} ->
- case ct_release_test:init(Config0) of
- {skip, Reason} ->
- {skip, Reason};
- Config ->
- ssh:start(),
- Config
- end;
- {ok, false} ->
- {skip, "Test server will not handle halfwordemulator correctly. Skip as halfwordemulator is deprecated"}
- catch _:_ ->
- {skip, "Crypto did not start"}
+ case ct_release_test:init(Config0) of
+ {skip, Reason} ->
+ {skip, Reason};
+ Config ->
+ ssh:start(),
+ Config
end.
end_per_suite(Config) ->
ct_release_test:cleanup(Config),
ssh:stop(),
- crypto:stop(),
UserDir = ?config(priv_dir, Config),
ssh_test_lib:clean_rsa(UserDir).