diff options
author | Volker Lendecke <vlendec@samba.org> | 2006-08-15 14:07:15 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:38:38 -0500 |
commit | 03e3cd1d5a005ad5fd2bc97f9863abf675efd09f (patch) | |
tree | 183a66f7bb43c7a34f05511a1903a854d963e27d /source3/torture | |
parent | 81e501ad1587b4f75851bc39c826383b112b7cb3 (diff) | |
download | samba-03e3cd1d5a005ad5fd2bc97f9863abf675efd09f.tar.gz samba-03e3cd1d5a005ad5fd2bc97f9863abf675efd09f.tar.bz2 samba-03e3cd1d5a005ad5fd2bc97f9863abf675efd09f.zip |
r17554: Cleanup
(This used to be commit 761cbd52f0cff6b864c506ec03c94039b6101ef9)
Diffstat (limited to 'source3/torture')
-rw-r--r-- | source3/torture/local-groupmap.c | 64 | ||||
-rw-r--r-- | source3/torture/local-multikey.c | 211 | ||||
-rw-r--r-- | source3/torture/torture.c | 7 |
3 files changed, 36 insertions, 246 deletions
diff --git a/source3/torture/local-groupmap.c b/source3/torture/local-groupmap.c index 007d107e12..bd6f060e71 100644 --- a/source3/torture/local-groupmap.c +++ b/source3/torture/local-groupmap.c @@ -151,6 +151,8 @@ static BOOL groupmap_diff(const GROUP_MAP *m1, const GROUP_MAP *m2) (strcmp(m1->comment, m2->comment) != 0)); } +#undef GROUPDB_V3 + BOOL run_local_groupmap(int dummy) { TALLOC_CTX *mem_ctx; @@ -166,6 +168,7 @@ BOOL run_local_groupmap(int dummy) return False; } +#ifdef GROUPDB_V3 status = create_v2_db(True); if (!NT_STATUS_IS_OK(status)) { goto fail; @@ -173,12 +176,13 @@ BOOL run_local_groupmap(int dummy) { GROUP_MAP map; - if (NT_STATUS_IS_OK(pdb_getgrgid(&map, 10001))) { + if (pdb_getgrgid(&map, 10001)) { d_fprintf(stderr, "(%s) upgrading an invalid group db " "worked\n", __location__); goto fail; } } +#endif status = create_v2_db(False); if (!NT_STATUS_IS_OK(status)) { @@ -187,9 +191,8 @@ BOOL run_local_groupmap(int dummy) /* This tests upgrading the database, as well as listing */ - if (!NT_STATUS_IS_OK(pdb_enum_group_mapping(NULL, SID_NAME_UNKNOWN, - &maps, &num_maps, - False))) { + if (!pdb_enum_group_mapping(NULL, SID_NAME_UNKNOWN, &maps, &num_maps, + False)) { d_fprintf(stderr, "(%s) pdb_enum_group_mapping failed\n", __location__); goto fail; @@ -209,18 +212,16 @@ BOOL run_local_groupmap(int dummy) string_to_sid(&sid, "S-1-5-32-545"); ZERO_STRUCT(map); - status = pdb_getgrsid(&map, &sid); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "(%s) pdb_getgrsid failed: %s\n", - __location__, nt_errstr(status)); + if (!pdb_getgrsid(&map, &sid)) { + d_fprintf(stderr, "(%s) pdb_getgrsid failed\n", + __location__); goto fail; } ZERO_STRUCT(map1); - status = pdb_getgrgid(&map1, map.gid); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "(%s) pdb_getgrgid failed: %s\n", - __location__, nt_errstr(status)); + if (!pdb_getgrgid(&map1, map.gid)) { + d_fprintf(stderr, "(%s) pdb_getgrgid failed\n", + __location__); goto fail; } @@ -231,10 +232,9 @@ BOOL run_local_groupmap(int dummy) } ZERO_STRUCT(map1); - status = pdb_getgrnam(&map1, map.nt_name); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "(%s) pdb_getgrnam failed: %s\n", - __location__, nt_errstr(status)); + if (!pdb_getgrnam(&map1, map.nt_name)) { + d_fprintf(stderr, "(%s) pdb_getgrnam failed\n", + __location__); goto fail; } @@ -252,31 +252,34 @@ BOOL run_local_groupmap(int dummy) GROUP_MAP map, map1; string_to_sid(&sid, "S-1-5-32-545"); - status = pdb_getgrsid(&map, &sid); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "(%s) did not find S-1-5-32-545: " - "%s\n", __location__, nt_errstr(status)); + if (!pdb_getgrsid(&map, &sid)) { + d_fprintf(stderr, "(%s) did not find S-1-5-32-545\n", + __location__); goto fail; } status = pdb_delete_group_mapping_entry(sid); CHECK_STATUS(status, NT_STATUS_OK); status = pdb_delete_group_mapping_entry(sid); +#ifdef GROUPDB_V3 CHECK_STATUS(status, NT_STATUS_NOT_FOUND); +#else + CHECK_STATUS(status, NT_STATUS_UNSUCCESSFUL); +#endif - if (NT_STATUS_IS_OK(pdb_getgrsid(&map1, &sid))) { + if (pdb_getgrsid(&map1, &sid)) { d_fprintf(stderr, "(%s) getgrsid found deleted " "entry\n", __location__); goto fail; } - if (NT_STATUS_IS_OK(pdb_getgrgid(&map1, map.gid))) { + if (pdb_getgrgid(&map1, map.gid)) { d_fprintf(stderr, "(%s) getgrgid found deleted " "entry\n", __location__); goto fail; } - if (NT_STATUS_IS_OK(pdb_getgrnam(&map1, map.nt_name))) { + if (pdb_getgrnam(&map1, map.nt_name)) { d_fprintf(stderr, "(%s) getgrnam found deleted " "entry\n", __location__); goto fail; @@ -292,10 +295,9 @@ BOOL run_local_groupmap(int dummy) GROUP_MAP map, map1; string_to_sid(&sid, "S-1-5-32-544"); - status = pdb_getgrsid(&map, &sid); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "(%s) did not find S-1-5-32-544: " - "%s\n", __location__, nt_errstr(status)); + if (!pdb_getgrsid(&map, &sid)) { + d_fprintf(stderr, "(%s) did not find S-1-5-32-544\n", + __location__); goto fail; } @@ -305,7 +307,7 @@ BOOL run_local_groupmap(int dummy) status = pdb_update_group_mapping_entry(&map); CHECK_STATUS(status, NT_STATUS_OK); - if (NT_STATUS_IS_OK(pdb_getgrgid(&map1, oldgid))) { + if (pdb_getgrgid(&map1, oldgid)) { d_fprintf(stderr, "(%s) getgrgid found outdated " "entry\n", __location__); goto fail; @@ -315,12 +317,16 @@ BOOL run_local_groupmap(int dummy) map.gid = 1000; status = pdb_update_group_mapping_entry(&map); +#ifdef GROUPDB_V3 CHECK_STATUS(status, NT_STATUS_OBJECTID_EXISTS); - if (!NT_STATUS_IS_OK(pdb_getgrgid(&map1, 4711))) { + if (!pdb_getgrgid(&map1, 4711)) { d_fprintf(stderr, "(%s) update_group changed entry " "upon failure\n", __location__); goto fail; } +#else + CHECK_STATUS(status, NT_STATUS_OK); +#endif } ret = True; diff --git a/source3/torture/local-multikey.c b/source3/torture/local-multikey.c deleted file mode 100644 index 83de2f0b40..0000000000 --- a/source3/torture/local-multikey.c +++ /dev/null @@ -1,211 +0,0 @@ -/* - Unix SMB/CIFS implementation. - Run some local tests on the local tdb multikey wrapper - Copyright (C) Volker Lendecke 2006 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" - -static char **key_fn(TALLOC_CTX *mem_ctx, TDB_DATA data, - void *private_data) -{ - fstring key, value; - char **result; - - result = TALLOC_ARRAY(mem_ctx, char *, 3); - if (result == NULL) { - return NULL; - } - - if (tdb_unpack(data.dptr, data.dsize, "ff", key, value) < 0) { - d_fprintf(stderr, "tdb_unpack failed\n"); - TALLOC_FREE(result); - return NULL; - } - result[0] = talloc_strdup(result, key); - result[1] = talloc_strdup(result, value); - result[2] = NULL; - - if ((result[0] == NULL) || (result[1] == NULL)) { - d_fprintf(stderr, "talloc_strdup failed\n"); - TALLOC_FREE(result); - return NULL; - } - - return result; -} - -static NTSTATUS multikey_add(struct tdb_context *tdb, const char *key, - const char *value) -{ - NTSTATUS status; - TDB_DATA data; - - data.dptr = NULL; - data.dsize = 0; - - if (!tdb_pack_append(NULL, &data.dptr, &data.dsize, - "ff", key, value)) { - return NT_STATUS_NO_MEMORY; - } - - status = tdb_add_keyed(tdb, key_fn, data, NULL); - TALLOC_FREE(data.dptr); - return status; -} - -#define CHECK_STATUS(_status, _expected) do { \ - if (!NT_STATUS_EQUAL(_status, _expected)) { \ - printf("(%d) Incorrect status %s - should be %s\n", \ - __LINE__, nt_errstr(status), nt_errstr(_expected)); \ - ret = False; \ - goto fail; \ - }} while (0) - -#define NUM_ELEMENTS (50) - -BOOL run_local_multikey(int dummy) -{ - TALLOC_CTX *mem_ctx; - char *prim; - const char *tdbname = "multi_key_test.tdb"; - struct tdb_context *tdb = NULL; - NTSTATUS status; - BOOL ret = False; - TDB_DATA data; - int i; - fstring key,value; - - unlink(tdbname); - - mem_ctx = talloc_init("run_local_multikey"); - if (mem_ctx == NULL) { - d_fprintf(stderr, "talloc_init failed\n"); - return False; - } - - tdb = tdb_open(tdbname, 0, 0, O_CREAT|O_RDWR, 0644); - if (tdb == NULL) { - d_fprintf(stderr, "tdb_open failed: %s\n", strerror(errno)); - goto fail; - } - - for (i=0; i<NUM_ELEMENTS; i++) { - fstr_sprintf(key, "KEY%d", i); - fstr_sprintf(value, "VAL%d", i); - - status = multikey_add(tdb, key, value); - if (!NT_STATUS_IS_OK(status)) { - d_fprintf(stderr, "tdb_add_keyed failed: %s\n", - nt_errstr(status)); - goto fail; - } - } - - { - struct tdb_keyed_iterator *it = tdb_enum_keyed(mem_ctx, tdb); - if (it == NULL) { - d_printf("tdb_enum_keyed failed\n"); - goto fail; - } - - i = 0; - - while (tdb_next_keyed(it, &data)) { - i += 1; - if (i > 1000) { - d_printf("tdb_next_keyed overrun\n"); - goto fail; - } - } - - if (i != NUM_ELEMENTS) { - d_printf("counted %d, elements, expected %d\n", - i, NUM_ELEMENTS); - goto fail; - } - } - - status = multikey_add(tdb, "KEY35", "FOOO"); - CHECK_STATUS(status, NT_STATUS_OBJECTID_EXISTS); - status = multikey_add(tdb, "KEY42", "VAL45"); - CHECK_STATUS(status, NT_STATUS_OBJECTID_EXISTS); - status = multikey_add(tdb, "FOO", "VAL45"); - CHECK_STATUS(status, NT_STATUS_OBJECTID_EXISTS); - - for (i=0; i<NUM_ELEMENTS; i++) { - fstr_sprintf(key, "KEY%d", i); - fstr_sprintf(value, "VAL%d", i); - - status = tdb_find_keyed(mem_ctx, tdb, 0, key, &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - status = tdb_find_keyed(mem_ctx, tdb, 1, value, &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - status = tdb_find_keyed(mem_ctx, tdb, 1, key, &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - status = tdb_find_keyed(mem_ctx, tdb, 0, value, &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - } - - status = tdb_find_keyed(mem_ctx, tdb, 0, "FOO", &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - status = tdb_find_keyed(mem_ctx, tdb, 1, "BAR", &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - - status = tdb_find_keyed(mem_ctx, tdb, 0, "KEY0", &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - - ZERO_STRUCT(data); - if (tdb_pack_append(mem_ctx, &data.dptr, &data.dsize, "ff", - "NEWKEY", "NEWVAL") < 0) { - d_printf("tdb_pack_alloc failed\n"); - goto fail; - } - - status = tdb_update_keyed(tdb, prim, key_fn, data, NULL); - CHECK_STATUS(status, NT_STATUS_OK); - - status = tdb_find_keyed(mem_ctx, tdb, 0, "KEY0", &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - status = tdb_find_keyed(mem_ctx, tdb, 1, "VAL0", &data, &prim); - CHECK_STATUS(status, NT_STATUS_NOT_FOUND); - status = tdb_find_keyed(mem_ctx, tdb, 0, "NEWKEY", &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - status = tdb_find_keyed(mem_ctx, tdb, 1, "NEWVAL", &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - - status = tdb_del_keyed(tdb, key_fn, prim, NULL); - CHECK_STATUS(status, NT_STATUS_OK); - - for (i=1; i<NUM_ELEMENTS; i++) { - fstr_sprintf(key, "KEY%d", i); - status = tdb_find_keyed(mem_ctx, tdb, 0, key, &data, &prim); - CHECK_STATUS(status, NT_STATUS_OK); - status = tdb_del_keyed(tdb, key_fn, prim, NULL); - CHECK_STATUS(status, NT_STATUS_OK); - } - - ret = True; - fail: - if (tdb != NULL) { - tdb_close(tdb); - } - unlink(tdbname); - TALLOC_FREE(mem_ctx); - return ret; -} - diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 67d13068bb..5876707d62 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -4948,8 +4948,6 @@ static struct { {"FDSESS", run_fdsesstest, 0}, { "EATEST", run_eatest, 0}, { "LOCAL-SUBSTITUTE", run_local_substitute, 0}, - { "LOCAL-MULTIKEY", run_local_multikey, 0}, - { "LOCAL-GROUPMAP", run_local_groupmap, 0}, {NULL, NULL, 0}}; @@ -5098,7 +5096,7 @@ static void usage(void) fstrcpy(workgroup, lp_workgroup()); - while ((opt = getopt(argc, argv, "p:hW:U:n:N:O:o:m:Ld:Ac:ks:b:S:")) != EOF) { + while ((opt = getopt(argc, argv, "p:hW:U:n:N:O:o:m:Ld:Ac:ks:b:")) != EOF) { switch (opt) { case 'p': port_to_use = atoi(optarg); @@ -5106,9 +5104,6 @@ static void usage(void) case 's': srandom(atoi(optarg)); break; - case 'S': - lp_load(optarg,True,False,False,True); - break; case 'W': fstrcpy(workgroup,optarg); break; |