d542bfec59a50093c814cbdb3b4998f51ad1d01a
[samba.git] / source4 / torture / local / local.c
1 /* 
2    Unix SMB/CIFS implementation.
3    SMB torture tester
4    Copyright (C) Jelmer Vernooij 2006
5    
6    This program is free software; you can redistribute it and/or modify
7    it 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    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU 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 <http://www.gnu.org/licenses/>.
18 */
19
20 #include "includes.h"
21 #include "torture/smbtorture.h"
22 #include "torture/local/proto.h"
23 #include "torture/ndr/proto.h"
24 #include "torture/auth/proto.h"
25 #include "../lib/crypto/test_proto.h"
26 #include "lib/registry/tests/proto.h"
27 #include "lib/replace/replace-test.h"
28
29 /* ignore me */ static struct torture_suite *
30         (*suite_generators[]) (TALLOC_CTX *mem_ctx) =
31
32         torture_local_binding_string, 
33         torture_ntlmssp, 
34         torture_local_messaging, 
35         torture_local_irpc, 
36         torture_local_util_strlist, 
37         torture_local_util_parmlist, 
38         torture_local_util_file, 
39         torture_local_util_str, 
40         torture_local_util_time, 
41         torture_local_util_data_blob, 
42         torture_local_util_asn1,
43         torture_local_util_anonymous_shared,
44         torture_local_idtree, 
45         torture_local_dlinklist,
46         torture_local_genrand, 
47         torture_local_iconv,
48         torture_local_socket, 
49 #ifdef SOCKET_WRAPPER
50         torture_local_socket_wrapper, 
51 #endif
52 #ifdef NSS_WRAPPER
53         torture_local_nss_wrapper,
54 #endif
55         torture_pac, 
56         torture_local_resolve,
57         torture_local_sddl,
58         torture_local_ndr, 
59         torture_local_tdr, 
60         torture_local_share,
61         torture_local_loadparm,
62         torture_local_charset,
63         torture_local_convert_string,
64         torture_local_compression,
65         torture_local_event, 
66         torture_local_torture,
67         torture_local_dbspeed, 
68         torture_local_credentials,
69         torture_ldb,
70         torture_dsdb_dn,
71         torture_dsdb_syntax,
72         torture_registry,
73         NULL
74 };
75
76 NTSTATUS torture_local_init(void)
77 {
78         int i;
79         struct torture_suite *suite = torture_suite_create(
80                 talloc_autofree_context(), "local");
81         
82         torture_suite_add_simple_test(suite, "talloc", torture_local_talloc);
83         torture_suite_add_simple_test(suite, "replace", torture_local_replace);
84         
85         torture_suite_add_simple_test(suite, 
86                                       "crypto.md4", torture_local_crypto_md4);
87         torture_suite_add_simple_test(suite, "crypto.md5", 
88                                       torture_local_crypto_md5);
89         torture_suite_add_simple_test(suite, "crypto.hmacmd5", 
90                                       torture_local_crypto_hmacmd5);
91
92         for (i = 0; suite_generators[i]; i++)
93                 torture_suite_add_suite(suite,
94                                         suite_generators[i](talloc_autofree_context()));
95         
96         suite->description = talloc_strdup(suite, 
97                                            "Local, Samba-specific tests");
98
99         torture_register_suite(suite);
100
101         return NT_STATUS_OK;
102 }