From f71c032f166031381ab117b8beb0d94f73a895cd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 27 Jan 2011 16:56:13 +0100 Subject: s3: test addrchange --- source3/torture/proto.h | 1 + source3/torture/test_addrchange.c | 93 +++++++++++++++++++++++++++++++++++++++ source3/torture/torture.c | 1 + 3 files changed, 95 insertions(+) create mode 100644 source3/torture/test_addrchange.c (limited to 'source3/torture') diff --git a/source3/torture/proto.h b/source3/torture/proto.h index a22113e7c6..c7a4cbcfec 100644 --- a/source3/torture/proto.h +++ b/source3/torture/proto.h @@ -86,5 +86,6 @@ bool run_posix_append(int dummy); bool run_nbench2(int dummy); bool run_async_echo(int dummy); bool run_smb_any_connect(int dummy); +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