1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

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)
This commit is contained in:
Jelmer Vernooij 2006-06-26 11:33:37 +00:00 committed by Gerald (Jerry) Carter
parent 9bd4cfad47
commit c692456f24
6 changed files with 98 additions and 12 deletions

View File

@ -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

View File

@ -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 \

View File

@ -41,6 +41,7 @@
torture_local_sddl,
torture_local_ndr,
torture_local_event,
torture_local_torture,
NULL
};

View File

@ -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;
}

43
source4/torture/util.c Normal file
View File

@ -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;
}

View File

@ -306,14 +306,6 @@ BOOL wire_bad_flags(struct smb_wire_string *str, int flags, struct smbcli_state
return False;
}
/*
check if 2 NTTIMEs are equal
*/
BOOL nt_time_equal(NTTIME *t1, NTTIME *t2)
{
return *t1 == *t2;
}
/*
dump a all_info QFILEINFO structure
*/
@ -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;
}