diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-01-12 07:03:29 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:08:45 -0500 |
commit | 1d795fa57b9f0b9c23cecfe0329a5e551ea903ee (patch) | |
tree | d10451a0f329bb242707ae572511c4d12fe719b7 /source4/torture/raw | |
parent | e6be2ad8b735ad5357bdec18bc0da983af300c2b (diff) | |
download | samba-1d795fa57b9f0b9c23cecfe0329a5e551ea903ee.tar.gz samba-1d795fa57b9f0b9c23cecfe0329a5e551ea903ee.tar.bz2 samba-1d795fa57b9f0b9c23cecfe0329a5e551ea903ee.zip |
r4700: first attempt at a composite async function, smb_composite_loadfile(),
which combineds ntcreatex, readx and close into a single call that
behaves just like a normal libcli async call.
(This used to be commit 516f68fb054f0717f0429e031aa820776ecc6597)
Diffstat (limited to 'source4/torture/raw')
-rw-r--r-- | source4/torture/raw/composite.c | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/source4/torture/raw/composite.c b/source4/torture/raw/composite.c new file mode 100644 index 0000000000..97f820c9e5 --- /dev/null +++ b/source4/torture/raw/composite.c @@ -0,0 +1,77 @@ +/* + Unix SMB/CIFS implementation. + + libcli composite function testing + + Copyright (C) Andrew Tridgell 2005 + + 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 "libcli/raw/libcliraw.h" +#include "libcli/composite/composite.h" + +#define BASEDIR "\\composite" + +static BOOL test_loadfile(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) +{ + const char *fname = BASEDIR "\\test.txt"; + int fnum; + NTSTATUS status; + struct smb_composite_loadfile io; + + fnum = create_complex_file(cli, mem_ctx, fname); + smbcli_close(cli->tree, fnum); + + io.in.fname = fname; + + status = smb_composite_loadfile(cli->tree, mem_ctx, &io); + if (!NT_STATUS_IS_OK(status)) { + printf("Loadfile failed: %s\n", nt_errstr(status)); + return False; + } + + return True; +} + +/* + basic testing of libcli composite calls +*/ +BOOL torture_raw_composite(void) +{ + struct smbcli_state *cli; + BOOL ret = True; + TALLOC_CTX *mem_ctx; + + if (!torture_open_connection(&cli)) { + return False; + } + + mem_ctx = talloc_init("torture_raw_composite"); + + if (!torture_setup_dir(cli, BASEDIR)) { + return False; + } + + ret &= test_loadfile(cli, mem_ctx); + + smb_raw_exit(cli->session); + smbcli_deltree(cli->tree, BASEDIR); + + torture_close_connection(cli); + talloc_destroy(mem_ctx); + return ret; +} |