1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
%%
%% %CopyrightBegin%
%%
%% Copyright Ericsson AB 2015-2020. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
%% compliance with the License. You should have received a copy of the
%% Erlang Public License along with this software. If not, it can be
%% retrieved online at http://www.erlang.org/.
%%
%% Software distributed under the License is distributed on an "AS IS"
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
%% the License for the specific language governing rights and limitations
%% under the License.
%%
%% %CopyrightEnd%
%%
%%
-module(ssl_eqc_SUITE).
-behaviour(ct_suite).
%% Common test
-export([all/0,
init_per_suite/1,
init_per_testcase/2,
end_per_suite/1,
end_per_testcase/2
]).
%% Test cases
-export([tls_handshake_encoding/1,
tls_cipher_suite_names/1,
tls_cipher_openssl_suite_names/1,
tls_anon_cipher_suite_names/1,
tls_anon_cipher_openssl_suite_names/1,
tls_unorded_chains/1,
tls_extraneous_chain/1,
tls_extraneous_chains/1,
tls_extraneous_and_unorder_chains/1
]).
%%--------------------------------------------------------------------
%% Common Test interface functions -----------------------------------
%%--------------------------------------------------------------------
all() ->
[
tls_handshake_encoding,
tls_cipher_suite_names,
tls_cipher_openssl_suite_names,
tls_anon_cipher_suite_names,
tls_anon_cipher_openssl_suite_names,
tls_unorded_chains,
tls_extraneous_chain,
tls_extraneous_chains,
tls_extraneous_and_unorder_chains
].
%%--------------------------------------------------------------------
init_per_suite(Config) ->
ct_property_test:init_per_suite(Config).
end_per_suite(Config) ->
Config.
init_per_testcase(_, Config0) ->
Config0.
end_per_testcase(_TestCase, Config) ->
Config.
%%--------------------------------------------------------------------
%% Test Cases --------------------------------------------------------
%%--------------------------------------------------------------------
tls_handshake_encoding(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_handshake:prop_tls_hs_encode_decode()).
true = ct_property_test:quickcheck(ssl_eqc_handshake:prop_tls_hs_encode_decode(),
Config).
tls_cipher_suite_names(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_cipher_format:prop_tls_cipher_suite_rfc_name()).
true = ct_property_test:quickcheck(ssl_eqc_cipher_format:prop_tls_cipher_suite_rfc_name(),
Config).
tls_cipher_openssl_suite_names(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_handshake:prop_tls_cipher_suite_openssl_name()).
true = ct_property_test:quickcheck(ssl_eqc_cipher_format:prop_tls_cipher_suite_openssl_name(),
Config).
tls_anon_cipher_suite_names(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_cipher_format:prop_tls_cipher_suite_rfc_name()).
true = ct_property_test:quickcheck(ssl_eqc_cipher_format:prop_tls_anon_cipher_suite_rfc_name(),
Config).
tls_anon_cipher_openssl_suite_names(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_handshake:prop_tls_cipher_suite_openssl_name()).
true = ct_property_test:quickcheck(ssl_eqc_cipher_format:prop_tls_anon_cipher_suite_openssl_name(),
Config).
tls_unorded_chains(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_chain:prop_tls_ordered_path("/tmp")
ssl:start(),
PrivDir = proplists:get_value(priv_dir, Config),
true = ct_property_test:quickcheck(ssl_eqc_chain:prop_tls_unordered_path(PrivDir),
Config).
tls_extraneous_chain(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_chain:prop_tls_ordered_path("/tmp")
ssl:start(),
PrivDir = proplists:get_value(priv_dir, Config),
true = ct_property_test:quickcheck(ssl_eqc_chain:prop_tls_extraneous_path(PrivDir),
Config).
tls_extraneous_chains(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_chain:prop_tls_ordered_path()
ssl:start(),
true = ct_property_test:quickcheck(ssl_eqc_chain:prop_tls_extraneous_paths(),
Config).
tls_extraneous_and_unorder_chains(Config) when is_list(Config) ->
%% manual test: proper:quickcheck(ssl_eqc_chain:prop_tls_ordered_path()
ssl:start(),
true = ct_property_test:quickcheck(ssl_eqc_chain:prop_tls_extraneous_and_unordered_path(),
Config).
|