From 8a090f6a082f82a3ff4d2ec07bec4d8c309b9bff Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Fri, 2 Sep 2016 11:11:28 +0200
Subject: ssl: Add check in test framework for crypto support

Avoid to run tests of algorithms not supported by crypto.
---
 lib/ssl/test/ssl_test_lib.erl | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl
index fd8af5efaa..a92b978ca9 100644
--- a/lib/ssl/test/ssl_test_lib.erl
+++ b/lib/ssl/test/ssl_test_lib.erl
@@ -807,22 +807,24 @@ send_selected_port(_,_,_) ->
 rsa_suites(CounterPart) ->
     ECC = is_sane_ecc(CounterPart),
     FIPS = is_fips(CounterPart),
+    CryptoSupport = crypto:supports(),
+    Ciphers = proplists:get_value(ciphers, CryptoSupport),
     lists:filter(fun({rsa, des_cbc, sha}) when FIPS == true ->
 			 false;
 		    ({dhe_rsa, des_cbc, sha}) when FIPS == true ->
 			 false;
-		    ({rsa, _, _}) ->
-			 true;
-		    ({dhe_rsa, _, _}) ->
-			 true;
-		    ({ecdhe_rsa, _, _}) when ECC == true ->
-			 true;
-		    ({rsa, _, _, _}) ->
-			 true;
-		    ({dhe_rsa, _, _,_}) ->
-			 true;
-		    ({ecdhe_rsa, _, _,_}) when ECC == true ->
-			 true;
+		    ({rsa, Cipher, _}) ->
+			 lists:member(Cipher, Ciphers);
+		    ({dhe_rsa, Cipher, _}) ->
+			 lists:member(Cipher, Ciphers);
+		    ({ecdhe_rsa, Cipher, _}) when ECC == true ->
+			 lists:member(Cipher, Ciphers);
+		    ({rsa, Cipher, _, _}) ->
+			 lists:member(Cipher, Ciphers);
+		    ({dhe_rsa, Cipher, _,_}) ->
+			 lists:member(Cipher, Ciphers);
+		    ({ecdhe_rsa, Cipher, _,_}) when ECC == true ->
+			 lists:member(Cipher, Ciphers);
 		    (_) ->
 			 false
 		 end,
-- 
cgit v1.2.3