diff options
author | Hans Nilsson <[email protected]> | 2017-11-30 18:04:44 +0100 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2017-12-21 15:31:44 +0100 |
commit | 80633af75bb2c3f889d69cf22a0102bf5eaefe31 (patch) | |
tree | 11793ff21c0617ac8635a7551dfb67824a6986d1 /lib/ssh/test/ssh_test_lib.erl | |
parent | fb60cf1408edc6ee03c7e391419367d047721809 (diff) | |
download | otp-80633af75bb2c3f889d69cf22a0102bf5eaefe31.tar.gz otp-80633af75bb2c3f889d69cf22a0102bf5eaefe31.tar.bz2 otp-80633af75bb2c3f889d69cf22a0102bf5eaefe31.zip |
ssh: Tests - timeout catches external ssh that does not disconnect
Diffstat (limited to 'lib/ssh/test/ssh_test_lib.erl')
-rw-r--r-- | lib/ssh/test/ssh_test_lib.erl | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/lib/ssh/test/ssh_test_lib.erl b/lib/ssh/test/ssh_test_lib.erl index 83819b97a5..8473a5031e 100644 --- a/lib/ssh/test/ssh_test_lib.erl +++ b/lib/ssh/test/ssh_test_lib.erl @@ -28,9 +28,7 @@ -include_lib("public_key/include/public_key.hrl"). -include_lib("common_test/include/ct.hrl"). -include_lib("ssh/src/ssh_transport.hrl"). - - --define(TIMEOUT, 50000). +-include("ssh_test_lib.hrl"). %%%---------------------------------------------------------------- connect(Port, Options) when is_integer(Port) -> @@ -772,12 +770,12 @@ ssh_type1() -> not_found; Path -> ct:log("~p:~p Found \"ssh\" at ~p",[?MODULE,?LINE,Path]), - case os:cmd("ssh -V") of + case installed_ssh_version(timeout) of Version = "OpenSSH" ++ _ -> ct:log("~p:~p Found OpenSSH ~p",[?MODULE,?LINE,Version]), openSSH; - Str -> - ct:log("ssh client ~p is unknown",[Str]), + Other -> + ct:log("ssh client ~p is unknown",[Other]), unknown end end @@ -787,6 +785,20 @@ ssh_type1() -> not_found end. +installed_ssh_version(TimeoutReturn) -> + Parent = self(), + Pid = spawn(fun() -> + Parent ! {open_ssh_version, os:cmd("ssh -V")} + end), + receive + {open_ssh_version, V} -> + V + after ?TIMEOUT -> + exit(Pid, kill), + TimeoutReturn + end. + + algo_intersection([], _) -> []; |