summaryrefslogtreecommitdiff
path: root/source4/torture/genbit.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture/genbit.c')
-rw-r--r--source4/torture/genbit.c83
1 files changed, 83 insertions, 0 deletions
diff --git a/source4/torture/genbit.c b/source4/torture/genbit.c
new file mode 100644
index 0000000000..6afde37706
--- /dev/null
+++ b/source4/torture/genbit.c
@@ -0,0 +1,83 @@
+/*
+ Unix SMB/CIFS implementation.
+ Gentest test definitions
+
+ Copyright (C) James Myers 2003
+
+ 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.
+*/
+
+get_field_function test_field_get_file_attr;
+get_field_function test_field_get_fid;
+get_field_function test_field_get_filename;
+get_field_function test_field_get_mtime;
+get_field_function test_field_get_trans2;
+get_field_function test_field_get_fsinfo_level;
+
+static struct unlink_test_parms_t gen_unlink_test_parms;
+static struct close_test_parms_t gen_close_test_parms;
+static struct qfsi_test_parms_t gen_qfsi_test_parms;
+
+static struct trans2_parms trans2_qfsi_parms = {
+ testFieldTypeTrans2, 1, 2, 0, 0, TRANSACT2_QFSINFO
+};
+
+static struct field_test_spec gen_unlink_test_spec[] = {
+ {"FATTR", testFieldTypeFileAttr, NULL,
+ 1, test_field_get_file_attr},
+ {"FNAME", testFieldTypeFilename, NULL,
+ -1, test_field_get_filename},
+ {"", -1, NULL, -1, NULL}
+};
+
+static struct field_test_spec gen_close_test_spec[] = {
+ {"FID", testFieldTypeFid, NULL, 1,
+ test_field_get_fid},
+ {"MTIME", testFieldTypeMtime, NULL, 2,
+ test_field_get_mtime},
+ {"", -1, NULL, -1, NULL}
+};
+
+static struct field_test_spec gen_qfsi_test_spec[] = {
+ {"TRANS2", testFieldTypeTrans2,
+ (void*)&trans2_qfsi_parms, 15,
+ test_field_get_trans2},
+ {"INFO_LEVEL", 0, NULL, 1, test_field_get_fsinfo_level},
+ {"", -1, NULL, -1, NULL}
+};
+
+static struct enum_test gen_enum_tests[] = {
+ {SMBunlink, "UNLINK", TEST_COND_TCON,
+ testTypeFilename,
+ TEST_OPTION_FILE_EXISTS |
+ TEST_OPTION_FILE_SYSTEM |
+ TEST_OPTION_FILE_HIDDEN |
+ TEST_OPTION_FILE_INVISIBLE |
+ TEST_OPTION_FILE_WILDCARD |
+ TEST_OPTION_FILE_NOT_EXIST,
+ 1, gen_unlink_test_spec, (void*)&gen_unlink_test_parms,
+ gen_execute_unlink, gen_verify_unlink},
+ {SMBclose, "CLOSE", TEST_COND_TCON,
+ testTypeFid,
+ TEST_OPTION_FID_VALID | TEST_OPTION_FID_INVALID,
+ 3, gen_close_test_spec, (void*)&gen_close_test_parms,
+ gen_execute_close, gen_verify_close},
+ {SMBtrans2, "QUERY_FS_INFO", TEST_COND_TCON,
+ testTypeConnected,
+ 1,
+ 16, gen_qfsi_test_spec, (void*)&gen_qfsi_test_parms,
+ gen_execute_qfsi, gen_verify_qfsi},
+ {-1, NULL, 0, 0, 0, -1, NULL, NULL, NULL}
+};