r25189: add first winbind test for the struct based protocol (WINBINDD_PING)
authorStefan Metzmacher <metze@samba.org>
Sun, 16 Sep 2007 14:20:53 +0000 (14:20 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:06:48 +0000 (15:06 -0500)
metze

source/torture/winbind/config.mk
source/torture/winbind/struct_based.c [new file with mode: 0644]
source/torture/winbind/winbind.c

index d7351144b7bef3f66299753c3037df6e9fa84ff6..b64b0647fc9e5b2486f68d25aaa0611e4e19ca8a 100644 (file)
@@ -7,8 +7,9 @@ INIT_FUNCTION = torture_winbind_init
 PRIVATE_PROTO_HEADER = \
                proto.h
 OBJ_FILES = \
-               winbind.o
+               winbind.o \
+               struct_based.o
 PRIVATE_DEPENDENCIES = \
-               POPT_CREDENTIALS
+               LIBWINBIND-CLIENT
 # End SUBSYSTEM TORTURE_WINBIND
 #################################
diff --git a/source/torture/winbind/struct_based.c b/source/torture/winbind/struct_based.c
new file mode 100644 (file)
index 0000000..3e17fe6
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+   Unix SMB/CIFS implementation.
+   SMB torture tester - winbind struct based protocol
+   Copyright (C) Stefan Metzmacher 2007
+
+   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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "includes.h"
+#include "torture/torture.h"
+#include "torture/winbind/proto.h"
+#include "nsswitch/winbind_client.h"
+
+static bool torture_winbind_struct_ping(struct torture_context *torture)
+{
+       NSS_STATUS result;
+
+       torture_comment(torture, "Testing WINBINDD_PING (struct based protocol)\n");
+
+       result = winbindd_request_response(WINBINDD_PING, NULL, NULL);
+       torture_assert_int_equal(torture,result,NSS_STATUS_SUCCESS,
+                                "WINBINDD_PING (struct based protocol)");
+
+       return true;
+}
+
+struct torture_suite *torture_winbind_struct_init(void)
+{
+       struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), "STRUCT");
+
+       torture_suite_add_simple_test(suite, "PING", torture_winbind_struct_ping);
+
+       suite->description = talloc_strdup(suite, "WINBIND - struct based protocol tests");
+
+       return suite;
+}
index 371f52beb5d734be6de248eee63f823313436193..e283602337637cabe0f68a803d72ed1aba41d873 100644 (file)
 
 #include "includes.h"
 #include "torture/torture.h"
+#include "torture/winbind/proto.h"
 
 NTSTATUS torture_winbind_init(void)
 {
        struct torture_suite *suite = torture_suite_create(talloc_autofree_context(), "WINBIND");
 
-       suite->description = talloc_strdup(suite, "WINBIND-protocol tests");
+       torture_suite_add_suite(suite, torture_winbind_struct_init());
+
+       suite->description = talloc_strdup(suite, "WINBIND tests");
 
        torture_register_suite(suite);