From 2ab1db01a72775fd82191a9c5bafc62ecccacff0 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 27 Jan 2011 16:56:13 +0100 Subject: [PATCH] s3: test addrchange --- source3/Makefile.in | 1 + source3/torture/proto.h | 6 ++ source3/torture/test_addrchange.c | 93 +++++++++++++++++++++++++++++++ source3/torture/torture.c | 1 + 4 files changed, 101 insertions(+) create mode 100644 source3/torture/test_addrchange.c diff --git a/source3/Makefile.in b/source3/Makefile.in index 5562c741e1..9c95eb9455 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -980,6 +980,7 @@ NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) \ $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(LIBSAMBA_OBJ) SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \ + torture/test_addrchange.o \ torture/denytest.o torture/mangle_test.o SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) \ diff --git a/source3/torture/proto.h b/source3/torture/proto.h index 353b98cff3..e7997a7fae 100644 --- a/source3/torture/proto.h +++ b/source3/torture/proto.h @@ -78,4 +78,10 @@ bool torture_chkpath_test(int dummy); bool torture_utable(int dummy); bool torture_casetable(int dummy); +/* + * Misc + */ + +bool run_addrchange(int dummy); + #endif /* __TORTURE_H__ */ diff --git a/source3/torture/test_addrchange.c b/source3/torture/test_addrchange.c new file mode 100644 index 0000000000..003bea6568 --- /dev/null +++ b/source3/torture/test_addrchange.c @@ -0,0 +1,93 @@ +/* + Unix SMB/CIFS implementation. + test for the addrchange functionality + Copyright (C) Volker Lendecke 2011 + + 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 3 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, see . +*/ + +#include "includes.h" +#include "lib/addrchange.h" +#include "proto.h" + +extern int torture_numops; + +bool run_addrchange(int dummy) +{ + struct addrchange_context *ctx; + struct tevent_context *ev; + NTSTATUS status; + int i; + + ev = tevent_context_init(talloc_tos()); + if (ev == NULL) { + d_fprintf(stderr, "tevent_context_init failed\n"); + return -1; + } + + status = addrchange_context_create(talloc_tos(), &ctx); + if (!NT_STATUS_IS_OK(status)) { + d_fprintf(stderr, "addrchange_context_create failed: %s\n", + nt_errstr(status)); + return false; + } + + for (i=0; i