diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2006-06-26 11:33:37 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:09:31 -0500 |
commit | c692456f240d443e7bf76a82c9ca2089fa496deb (patch) | |
tree | b655d969ae7fb1378a7d5ef86a07610c02d08a03 /source4 | |
parent | 9bd4cfad47b8b2e1e60a49478c92cf8490802a18 (diff) | |
download | samba-c692456f240d443e7bf76a82c9ca2089fa496deb.tar.gz samba-c692456f240d443e7bf76a82c9ca2089fa496deb.tar.bz2 samba-c692456f240d443e7bf76a82c9ca2089fa496deb.zip |
r16518: Split up torture_util.c in smb and non-smb specific parts.
Add torture_temp_dir() function, with test.
(This used to be commit c9d287dc0e3f8fc4e8399cd5095ef38f2b9f40c6)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/torture/config.mk | 2 | ||||
-rw-r--r-- | source4/torture/local/config.mk | 3 | ||||
-rw-r--r-- | source4/torture/local/local.c | 1 | ||||
-rw-r--r-- | source4/torture/local/torture.c | 49 | ||||
-rw-r--r-- | source4/torture/util.c | 43 | ||||
-rw-r--r-- | source4/torture/util_smb.c (renamed from source4/torture/torture_util.c) | 12 |
6 files changed, 98 insertions, 12 deletions
diff --git a/source4/torture/config.mk b/source4/torture/config.mk index e87e5ae3a9..07469ab252 100644 --- a/source4/torture/config.mk +++ b/source4/torture/config.mk @@ -12,7 +12,7 @@ PUBLIC_DEPENDENCIES = \ LIBSAMBA-UTIL [SUBSYSTEM::TORTURE_UTIL] -OBJ_FILES = torture_util.o +OBJ_FILES = util.o util_smb.o PUBLIC_PROTO_HEADER = util.h PUBLIC_DEPENDENCIES = POPT_CREDENTIALS diff --git a/source4/torture/local/config.mk b/source4/torture/local/config.mk index 001ff559d5..d11dfd2c8d 100644 --- a/source4/torture/local/config.mk +++ b/source4/torture/local/config.mk @@ -20,7 +20,8 @@ OBJ_FILES = \ sddl.o \ ndr.o \ event.o \ - local.o + local.o \ + torture.o PUBLIC_DEPENDENCIES = \ RPC_NDR_ECHO \ LIBCLI_SMB \ diff --git a/source4/torture/local/local.c b/source4/torture/local/local.c index 8f95cec4d5..cd1065325a 100644 --- a/source4/torture/local/local.c +++ b/source4/torture/local/local.c @@ -41,6 +41,7 @@ torture_local_sddl, torture_local_ndr, torture_local_event, + torture_local_torture, NULL }; diff --git a/source4/torture/local/torture.c b/source4/torture/local/torture.c new file mode 100644 index 0000000000..ed601b663f --- /dev/null +++ b/source4/torture/local/torture.c @@ -0,0 +1,49 @@ +/* + Unix SMB/CIFS implementation. + + local testing of torture + + Copyright (C) Jelmer Vernooij 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" +#include "torture/torture.h" +#include "torture/util.h" + +static BOOL test_tempdir(struct torture_context *torture, + const void *_data) +{ + char *location = NULL; + + torture_assert_ntstatus_ok(torture, torture_temp_dir(torture, &location), + "torture_temp_dir should return NT_STATUS_OK" ); + + torture_assert(torture, directory_exist(location), + "created dir doesn't exist"); + + return True; +} + +struct torture_suite *torture_local_torture(TALLOC_CTX *mem_ctx) +{ + struct torture_suite *suite = torture_suite_create(mem_ctx, + "LOCAL-TORTURE"); + + torture_suite_add_simple_tcase(suite, "tempdir", test_tempdir, NULL); + + return suite; +} diff --git a/source4/torture/util.c b/source4/torture/util.c new file mode 100644 index 0000000000..bd2bc493c5 --- /dev/null +++ b/source4/torture/util.c @@ -0,0 +1,43 @@ +/* + Unix SMB/CIFS implementation. + SMB torture tester utility functions + Copyright (C) Jelmer Vernooij 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" +#include "system/filesys.h" +#include "torture/torture.h" + +_PUBLIC_ NTSTATUS torture_temp_dir(TALLOC_CTX *mem_ctx, char **tempdir) +{ + *tempdir = talloc_strdup(mem_ctx, "torture-tmp.XXXXXX"); + + if (mkdtemp(*tempdir) == NULL) + return NT_STATUS_UNSUCCESSFUL; + + return NT_STATUS_OK; +} + +/** + check if 2 NTTIMEs are equal +*/ +BOOL nt_time_equal(NTTIME *t1, NTTIME *t2) +{ + return *t1 == *t2; +} + + diff --git a/source4/torture/torture_util.c b/source4/torture/util_smb.c index c8ffc04f80..818100aa5c 100644 --- a/source4/torture/torture_util.c +++ b/source4/torture/util_smb.c @@ -307,14 +307,6 @@ BOOL wire_bad_flags(struct smb_wire_string *str, int flags, struct smbcli_state } /* - check if 2 NTTIMEs are equal -*/ -BOOL nt_time_equal(NTTIME *t1, NTTIME *t2) -{ - return *t1 == *t2; -} - -/* dump a all_info QFILEINFO structure */ void dump_all_info(TALLOC_CTX *mem_ctx, union smb_fileinfo *finfo) @@ -707,8 +699,6 @@ double torture_create_procs(BOOL (*fn)(struct smbcli_state *, int), BOOL *result return timeval_elapsed(&tv); } - - static BOOL wrap_old_torture_multifn(struct torture_context *torture, const void *_fn) { @@ -734,3 +724,5 @@ _PUBLIC_ NTSTATUS register_torture_multi_op(const char *name, return NT_STATUS_OK; } + + |