diff options
Diffstat (limited to 'source4/torture/genbit.c')
-rw-r--r-- | source4/torture/genbit.c | 83 |
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} +}; |