diff options
-rw-r--r-- | lib/diameter/src/compiler/diameter_dict_scanner.erl | 6 | ||||
-rw-r--r-- | lib/diameter/test/diameter_tls_SUITE.erl | 18 | ||||
-rw-r--r-- | lib/diameter/test/diameter_transport_SUITE.erl | 3 |
3 files changed, 18 insertions, 9 deletions
diff --git a/lib/diameter/src/compiler/diameter_dict_scanner.erl b/lib/diameter/src/compiler/diameter_dict_scanner.erl index 963b58fdfc..45189376fb 100644 --- a/lib/diameter/src/compiler/diameter_dict_scanner.erl +++ b/lib/diameter/src/compiler/diameter_dict_scanner.erl @@ -32,7 +32,9 @@ %% # scan/1 %% ----------------------------------------------------------- --spec scan(string()) -> {ok, [Token]} | {error, {atom(), string(), Lineno}} +-spec scan(string() | binary()) + -> {ok, [Token]} + | {error, {string(), string(), Lineno}} when Token :: {word, Lineno, string()} | {number, Lineno, non_neg_integer()} | {Symbol, Lineno}, @@ -169,7 +171,7 @@ split([H|_] = L) when $a =< H, H =< $z; {word(P), Rest}; split([$'|T]) -> - case splitwith(fun(C) -> not lists:member(C, "'\r\n") end, T) of + case lists:splitwith(fun(C) -> not lists:member(C, "'\r\n") end, T) of {[_|_] = A, [$'|Rest]} -> {{word, A}, Rest}; {[], [$'|_]} -> diff --git a/lib/diameter/test/diameter_tls_SUITE.erl b/lib/diameter/test/diameter_tls_SUITE.erl index 7854411d2e..a325ca33eb 100644 --- a/lib/diameter/test/diameter_tls_SUITE.erl +++ b/lib/diameter/test/diameter_tls_SUITE.erl @@ -151,16 +151,22 @@ init_per_group(_, Config) -> end_per_group(_, _) -> ok. +%% Shouldn't really have to know about crypto here but 'ok' from +%% ssl:start() isn't enough to guarantee that TLS is available. init_per_suite(Config) -> - case os:find_executable("openssl") of - false -> - {skip, no_openssl}; - _ -> - Config + try + false /= os:find_executable("openssl") + orelse throw({?MODULE, no_openssl}), + ok == crypto:start() + orelse throw({?MODULE, no_crypto}), + Config + catch + {?MODULE, E} -> + {skip, E} end. end_per_suite(_Config) -> - ok. + crypto:stop(). %% Testcases to run when services are started and connections %% established. diff --git a/lib/diameter/test/diameter_transport_SUITE.erl b/lib/diameter/test/diameter_transport_SUITE.erl index 3bd96ee422..df7161fd1e 100644 --- a/lib/diameter/test/diameter_transport_SUITE.erl +++ b/lib/diameter/test/diameter_transport_SUITE.erl @@ -179,7 +179,8 @@ have_sctp() -> {ok, Sock} -> gen_sctp:close(Sock), true; - {error, eprotonosupport} -> %% fail on any other reason + {error, E} when E == eprotonosupport; + E == esocktnosupport -> %% fail on any other reason false catch error: badarg -> |