1 /*
2  * Copyright (C) 2000-2012 Free Software Foundation, Inc.
3  *
4  * This file is part of GnuTLS.
5  *
6  * GnuTLS is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * GnuTLS is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see
18  * <https://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef GNUTLS_SRC_TESTS_H
22 #define GNUTLS_SRC_TESTS_H
23 
24 typedef enum {
25 	TEST_SUCCEED, TEST_FAILED, TEST_UNSURE, TEST_IGNORE/*keep socket*/, TEST_IGNORE2/*destroy socket*/
26 } test_code_t;
27 
28 test_code_t test_chain_order(gnutls_session_t session);
29 test_code_t test_server(gnutls_session_t state);
30 test_code_t test_record_padding(gnutls_session_t state);
31 test_code_t test_no_extensions(gnutls_session_t state);
32 test_code_t test_heartbeat_extension(gnutls_session_t state);
33 test_code_t test_small_records(gnutls_session_t state);
34 test_code_t test_rfc7507(gnutls_session_t state);
35 test_code_t test_dhe(gnutls_session_t state);
36 test_code_t test_rfc7919(gnutls_session_t state);
37 test_code_t test_dhe_group(gnutls_session_t state);
38 test_code_t test_ssl3(gnutls_session_t state);
39 test_code_t test_ssl3_with_extensions(gnutls_session_t state);
40 test_code_t test_ssl3_unknown_ciphersuites(gnutls_session_t state);
41 test_code_t test_aes(gnutls_session_t state);
42 test_code_t test_camellia_cbc(gnutls_session_t state);
43 test_code_t test_camellia_gcm(gnutls_session_t state);
44 test_code_t test_md5(gnutls_session_t state);
45 test_code_t test_sha(gnutls_session_t state);
46 test_code_t test_3des(gnutls_session_t state);
47 test_code_t test_arcfour(gnutls_session_t state);
48 test_code_t test_chacha20(gnutls_session_t state);
49 test_code_t test_tls1(gnutls_session_t state);
50 test_code_t test_tls1_nossl3(gnutls_session_t session);
51 test_code_t test_safe_renegotiation(gnutls_session_t state);
52 test_code_t test_ext_master_secret(gnutls_session_t state);
53 test_code_t test_etm(gnutls_session_t state);
54 test_code_t test_safe_renegotiation_scsv(gnutls_session_t state);
55 test_code_t test_tls1_1(gnutls_session_t state);
56 test_code_t test_tls1_2(gnutls_session_t state);
57 test_code_t test_tls1_3(gnutls_session_t state);
58 test_code_t test_known_protocols(gnutls_session_t state);
59 test_code_t test_tls1_1_fallback(gnutls_session_t state);
60 test_code_t test_tls1_6_fallback(gnutls_session_t state);
61 test_code_t test_tls_disable0(gnutls_session_t state);
62 test_code_t test_tls_disable1(gnutls_session_t state);
63 test_code_t test_tls_disable2(gnutls_session_t state);
64 test_code_t test_ocsp_status(gnutls_session_t state);
65 test_code_t test_rsa_pms(gnutls_session_t state);
66 test_code_t test_max_record_size(gnutls_session_t state);
67 test_code_t test_version_rollback(gnutls_session_t state);
68 test_code_t test_anonymous(gnutls_session_t state);
69 test_code_t test_unknown_ciphersuites(gnutls_session_t state);
70 test_code_t test_bye(gnutls_session_t state);
71 test_code_t test_certificate(gnutls_session_t state);
72 test_code_t test_server_cas(gnutls_session_t state);
73 test_code_t test_session_resume2(gnutls_session_t state);
74 test_code_t test_rsa_pms_version_check(gnutls_session_t session);
75 test_code_t test_version_oob(gnutls_session_t session);
76 test_code_t test_send_record(gnutls_session_t session);
77 test_code_t test_send_record_with_allow_small_records(gnutls_session_t session);
78 int _test_srp_username_callback(gnutls_session_t session,
79 				char **username, char **password);
80 
81 test_code_t test_rsa(gnutls_session_t session);
82 test_code_t test_ecdhe_x25519(gnutls_session_t session);
83 test_code_t test_ecdhe_secp521r1(gnutls_session_t session);
84 test_code_t test_ecdhe_secp384r1(gnutls_session_t session);
85 test_code_t test_ecdhe_secp256r1(gnutls_session_t session);
86 test_code_t test_ecdhe(gnutls_session_t session);
87 test_code_t test_aes_gcm(gnutls_session_t session);
88 test_code_t test_aes_ccm(gnutls_session_t session);
89 test_code_t test_aes_ccm_8(gnutls_session_t session);
90 test_code_t test_sha256(gnutls_session_t session);
91 
92 #ifdef ENABLE_GOST
93 test_code_t test_vko_gost_12(gnutls_session_t session);
94 test_code_t test_gost_cnt(gnutls_session_t session);
95 test_code_t test_gost_imit(gnutls_session_t session);
96 #endif
97 
98 #endif /* GNUTLS_SRC_TESTS_H */
99