Reconcile header files for torture utility functions.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 15 Feb 2008 14:53:06 +0000 (15:53 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 15 Feb 2008 14:53:06 +0000 (15:53 +0100)
source/torture/config.mk
source/torture/libnet/libnet_BecomeDC.c
source/torture/local/torture.c
source/torture/util.h [new file with mode: 0644]
source/torture/util_provision.c
source/torture/util_provision.h [deleted file]

index 5a3e3d06589f761da47470c1fa485a653e45c1bf..7ab4658dc13d0c4ed21ba2c3ecddcd85f2f98f88 100644 (file)
@@ -16,7 +16,6 @@ PUBLIC_DEPENDENCIES = \
 [SUBSYSTEM::TORTURE_UTIL]
 OBJ_FILES = util_smb.o util_provision.o
 PRIVATE_DEPENDENCIES = LIBCLI_RAW LIBPYTHON smbcalls
-PUBLIC_PROTO_HEADER = util.h
 PUBLIC_DEPENDENCIES = POPT_CREDENTIALS
 
 #################################
index 13e1aec6d01df4f4eac4b59f8b1f8399b12f5b17..9566f5ee2944cd51f41341a62352ccede4eadd81 100644 (file)
@@ -37,7 +37,7 @@
 #include "lib/ldb_wrap.h"
 #include "auth/auth.h"
 #include "param/param.h"
-#include "torture/util_provision.h"
+#include "torture/util.h"
 
 struct test_become_dc_state {
        struct libnet_context *ctx;
index 0c9931be0365c5ac1c3759e3144c0028d6089033..3273015347ca37dd1d16b368699f5afced4b27d4 100644 (file)
@@ -24,7 +24,7 @@
 #include "system/wait.h"
 #include "lib/events/events.h"
 #include "libcli/raw/libcliraw.h"
-#include "torture/util_provision.h"
+#include "torture/util.h"
 
 static bool test_tempdir(struct torture_context *tctx)
 {
diff --git a/source/torture/util.h b/source/torture/util.h
new file mode 100644 (file)
index 0000000..c5219a5
--- /dev/null
@@ -0,0 +1,120 @@
+/* 
+   Unix SMB/CIFS implementation.
+   Samba utility functions
+   Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
+   
+   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/>.
+*/
+
+#ifndef _TORTURE_PROVISION_H_
+#define _TORTURE_PROVISION_H_
+
+struct provision_settings {
+       const char *dns_name;
+       const char *site_name;
+       const char *root_dn_str; 
+       const char *domain_dn_str;
+       const char *config_dn_str;
+       const char *schema_dn_str;
+       const struct GUID *invocation_id;
+       const char *netbios_name;
+       const char *realm;
+       const char *domain;
+       const struct GUID *ntds_guid;
+       const char *ntds_dn_str;
+       const char *machine_password;
+       const char *samdb_ldb;
+       const char *secrets_ldb;
+       const char *secrets_keytab;
+       const char *schemadn_ldb;
+       const char *configdn_ldb;
+       const char *domaindn_ldb;
+       const char *templates_ldb;
+       const char *dns_keytab;
+};
+
+NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
+                                               struct provision_settings *settings);
+
+
+/**
+  setup a directory ready for a test
+*/
+_PUBLIC_ bool torture_setup_dir(struct smbcli_state *cli, const char *dname);
+NTSTATUS create_directory_handle(struct smbcli_tree *tree, const char *dname, int *fnum);
+
+/**
+  sometimes we need a fairly complex file to work with, so we can test
+  all possible attributes. 
+*/
+_PUBLIC_ int create_complex_file(struct smbcli_state *cli, TALLOC_CTX *mem_ctx, const char *fname);
+int create_complex_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx, const char *dname);
+void *shm_setup(int size);
+
+/**
+  check that a wire string matches the flags specified 
+  not 100% accurate, but close enough for testing
+*/
+bool wire_bad_flags(struct smb_wire_string *str, int flags, 
+                   struct smbcli_transport *transport);
+void dump_all_info(TALLOC_CTX *mem_ctx, union smb_fileinfo *finfo);
+void torture_all_info(struct smbcli_tree *tree, const char *fname);
+bool torture_set_file_attribute(struct smbcli_tree *tree, const char *fname, uint16_t attrib);
+NTSTATUS torture_set_sparse(struct smbcli_tree *tree, int fnum);
+NTSTATUS torture_check_ea(struct smbcli_state *cli, 
+                         const char *fname, const char *eaname, const char *value);
+_PUBLIC_ bool torture_open_connection_share(TALLOC_CTX *mem_ctx,
+                                  struct smbcli_state **c, 
+                                  struct torture_context *tctx,
+                                  const char *hostname, 
+                                  const char *sharename,
+                                  struct event_context *ev);
+_PUBLIC_ bool torture_get_conn_index(int conn_index,
+                                    TALLOC_CTX *mem_ctx,
+                                    struct torture_context *tctx,
+                                    char **host, char **share);
+_PUBLIC_ bool torture_open_connection_ev(struct smbcli_state **c,
+                                        int conn_index,
+                                        struct torture_context *tctx,
+                                        struct event_context *ev);
+_PUBLIC_ bool torture_open_connection(struct smbcli_state **c, struct torture_context *tctx, int conn_index);
+_PUBLIC_ bool torture_close_connection(struct smbcli_state *c);
+_PUBLIC_ bool check_error(const char *location, struct smbcli_state *c, 
+                uint8_t eclass, uint32_t ecode, NTSTATUS nterr);
+double torture_create_procs(struct torture_context *tctx, 
+                                                       bool (*fn)(struct torture_context *, struct smbcli_state *, int), bool *result);
+_PUBLIC_ struct torture_test *torture_suite_add_smb_multi_test(
+                                                                       struct torture_suite *suite,
+                                                                       const char *name,
+                                                                       bool (*run) (struct torture_context *,
+                                                                                                struct smbcli_state *,
+                                                                                               int i));
+_PUBLIC_ struct torture_test *torture_suite_add_2smb_test(
+                                                                       struct torture_suite *suite,
+                                                                       const char *name,
+                                                                       bool (*run) (struct torture_context *,
+                                                                                               struct smbcli_state *,
+                                                                                               struct smbcli_state *));
+_PUBLIC_ struct torture_test *torture_suite_add_1smb_test(
+                               struct torture_suite *suite,
+                               const char *name,
+                               bool (*run) (struct torture_context *, struct smbcli_state *));
+NTSTATUS torture_second_tcon(TALLOC_CTX *mem_ctx,
+                            struct smbcli_session *session,
+                            const char *sharename,
+                            struct smbcli_tree **res);
+
+
+
+#endif /* _TORTURE_PROVISION_H_ */
index a5c564b05c2f932770992f2204f2f6c03747399a..2a1e9256f58bd8b7a6aa3635530585e7cefbfcac 100644 (file)
@@ -24,7 +24,7 @@
 #include "scripting/ejs/smbcalls.h"
 #include "auth/auth.h"
 #include "lib/ldb_wrap.h"
-#include "torture/util_provision.h"
+#include "torture/util.h"
 
 static EjsId eid;
 static int ejs_error;
diff --git a/source/torture/util_provision.h b/source/torture/util_provision.h
deleted file mode 100644 (file)
index 2846708..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Samba utility functions
-   Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
-   
-   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/>.
-*/
-
-#ifndef _TORTURE_PROVISION_H_
-#define _TORTURE_PROVISION_H_
-
-struct provision_settings {
-       const char *dns_name;
-       const char *site_name;
-       const char *root_dn_str; 
-       const char *domain_dn_str;
-       const char *config_dn_str;
-       const char *schema_dn_str;
-       const struct GUID *invocation_id;
-       const char *netbios_name;
-       const char *realm;
-       const char *domain;
-       const struct GUID *ntds_guid;
-       const char *ntds_dn_str;
-       const char *machine_password;
-       const char *samdb_ldb;
-       const char *secrets_ldb;
-       const char *secrets_keytab;
-       const char *schemadn_ldb;
-       const char *configdn_ldb;
-       const char *domaindn_ldb;
-       const char *templates_ldb;
-       const char *dns_keytab;
-};
-
-NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
-                                               struct provision_settings *settings);
-
-
-#endif /* _TORTURE_PROVISION_H_ */