From 517238f0aa1a578aec69a40e92022a7636780c3a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 22 Oct 2004 06:46:04 +0000 Subject: r3130: - added a LOCAL-IDTREE test suite - made idtree return a "struct idr_context *" instead of a void* - more efficient idr_remove for ids that are not present (patch from Jim Houston) (This used to be commit f8d12d4b4ae5a38de7869deb782cb8f48504844c) --- source4/torture/config.mk | 3 +- source4/torture/local/idtree.c | 100 +++++++++++++++++++++++++++++++++++++++++ source4/torture/torture.c | 1 + 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 source4/torture/local/idtree.c (limited to 'source4/torture') diff --git a/source4/torture/config.mk b/source4/torture/config.mk index e64d041889..49ab3fba43 100644 --- a/source4/torture/config.mk +++ b/source4/torture/config.mk @@ -104,7 +104,8 @@ ADD_OBJ_FILES = \ torture/local/iconv.o \ torture/local/talloc.o \ torture/local/messaging.o \ - torture/local/binding_string.o + torture/local/binding_string.o \ + torture/local/idtree.o REQUIRED_SUBSYSTEMS = \ LIBSMB \ MESSAGING diff --git a/source4/torture/local/idtree.c b/source4/torture/local/idtree.c new file mode 100644 index 0000000000..36360b5917 --- /dev/null +++ b/source4/torture/local/idtree.c @@ -0,0 +1,100 @@ +/* + Unix SMB/CIFS implementation. + + local testing of idtree routines. + + Copyright (C) Andrew Tridgell 2004 + + 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" + +BOOL torture_local_idtree(int dummy) +{ + struct idr_context *idr; + int i; + int *ids; + int *present; + BOOL ret = True; + extern int torture_numops; + int n = torture_numops; + void *ctx = talloc(NULL, 0); + + idr = idr_init(ctx); + + ids = talloc_zero_array_p(ctx, int, n); + present = talloc_zero_array_p(ctx, int, n); + + for (i=0;i