diff options
author | Hans Nilsson <[email protected]> | 2015-10-20 15:49:55 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2015-10-20 15:49:55 +0200 |
commit | eb24b259f026629372f9f8957da72f4302adb904 (patch) | |
tree | 844828bc690713bd9a44942190236ae7f22a469d | |
parent | 9b733abf49dd75a42d75d8964b20c37fee4ad7f1 (diff) | |
download | otp-eb24b259f026629372f9f8957da72f4302adb904.tar.gz otp-eb24b259f026629372f9f8957da72f4302adb904.tar.bz2 otp-eb24b259f026629372f9f8957da72f4302adb904.zip |
ssh: dynamic check of supported algos in ssh_to_openssh_SUITE
-rw-r--r-- | lib/ssh/test/ssh_test_lib.erl | 8 | ||||
-rw-r--r-- | lib/ssh/test/ssh_to_openssh_SUITE.erl | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/ssh/test/ssh_test_lib.erl b/lib/ssh/test/ssh_test_lib.erl index 2e63ec086b..5816b708f2 100644 --- a/lib/ssh/test/ssh_test_lib.erl +++ b/lib/ssh/test/ssh_test_lib.erl @@ -459,6 +459,14 @@ openssh_sanity_check(Config) -> {skip, Str} end. +openssh_supports(ClientOrServer, Tag, Alg) when ClientOrServer == sshc ; + ClientOrServer == sshd -> + SSH_algos = ssh_test_lib:default_algorithms(ClientOrServer), + L = proplists:get_value(Tag, SSH_algos, []), + lists:member(Alg, L) orelse + lists:member(Alg, proplists:get_value(client2server, L, [])) orelse + lists:member(Alg, proplists:get_value(server2client, L, [])). + %%-------------------------------------------------------------------- %% Check if we have a "newer" ssh client that supports these test cases diff --git a/lib/ssh/test/ssh_to_openssh_SUITE.erl b/lib/ssh/test/ssh_to_openssh_SUITE.erl index b5b997cb53..168b8a695a 100644 --- a/lib/ssh/test/ssh_to_openssh_SUITE.erl +++ b/lib/ssh/test/ssh_to_openssh_SUITE.erl @@ -94,6 +94,21 @@ end_per_group(erlang_server, Config) -> end_per_group(_, Config) -> Config. + +init_per_testcase(erlang_server_openssh_client_pulic_key_dsa, Config) -> + case ssh_test_lib:openssh_supports(sshc, public_key, 'ssh-dss') of + true -> + init_per_testcase('__default__',Config); + false -> + {skip,"openssh client does not support DSA"} + end; +init_per_testcase(erlang_client_openssh_server_publickey_dsa, Config) -> + case ssh_test_lib:openssh_supports(sshd, public_key, 'ssh-dss') of + true -> + init_per_testcase('__default__',Config); + false -> + {skip,"openssh client does not support DSA"} + end; init_per_testcase(_TestCase, Config) -> ssh:start(), Config. |