Merge branch 'selftest' of git://git.samba.org/jelmer/samba
[kai/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/ndr.h"
24 #include "torture/ndr/proto.h"
25 #include "torture/auth/proto.h"
26 #include "../lib/crypto/test_proto.h"
27 #include "lib/registry/tests/proto.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_file, 
38         torture_local_util_str, 
39         torture_local_util_time, 
40         torture_local_util_data_blob, 
41         torture_local_idtree, 
42         torture_local_genrand, 
43         torture_local_iconv,
44         torture_local_socket, 
45         torture_local_socket_wrapper, 
46         torture_pac, 
47         torture_local_resolve,
48         torture_local_sddl,
49         torture_local_ndr, 
50         torture_local_tdr, 
51         torture_local_share,
52         torture_local_loadparm,
53         torture_local_charset,
54         torture_local_compression,
55         torture_local_event, 
56         torture_local_torture,
57         torture_local_dbspeed, 
58         torture_local_credentials,
59         torture_registry,
60         NULL
61 };
62
63 NTSTATUS torture_local_init(void)
64 {
65         int i;
66         struct torture_suite *suite = torture_suite_create(
67                 talloc_autofree_context(),
68                 "LOCAL");
69         
70         torture_suite_add_simple_test(suite, "TALLOC", torture_local_talloc);
71         torture_suite_add_simple_test(suite, "REPLACE", torture_local_replace);
72         
73         torture_suite_add_simple_test(suite, 
74                                       "CRYPTO-MD4", torture_local_crypto_md4);
75         torture_suite_add_simple_test(suite, "CRYPTO-MD5", 
76                                       torture_local_crypto_md5);
77         torture_suite_add_simple_test(suite, "CRYPTO-HMACMD5", 
78                                       torture_local_crypto_hmacmd5);
79
80         for (i = 0; suite_generators[i]; i++)
81                 torture_suite_add_suite(suite,
82                                         suite_generators[i](talloc_autofree_context()));
83         
84         suite->description = talloc_strdup(suite, 
85                                            "Local, Samba-specific tests");
86
87         torture_register_suite(suite);
88
89         return NT_STATUS_OK;
90 }