diff options
-rw-r--r-- | source4/torture/raw/search.c | 11 | ||||
-rw-r--r-- | source4/torture/smbtorture.c | 9 | ||||
-rw-r--r-- | source4/torture/smbtorture.h | 22 |
3 files changed, 40 insertions, 2 deletions
diff --git a/source4/torture/raw/search.c b/source4/torture/raw/search.c index 3aee7fbdfe..74186e3a5d 100644 --- a/source4/torture/raw/search.c +++ b/source4/torture/raw/search.c @@ -711,7 +711,7 @@ static bool test_many_files(struct torture_context *tctx, if ((search_types[t].cont_type == CONT_RESUME_KEY) && (search_types[t].data_level != RAW_SEARCH_DATA_SEARCH) && - torture_setting_bool(tctx, "samba3", false)) { + !torture_setting_bool(tctx, "resume_key_support", true)) { torture_comment(tctx, "SKIP: Continue %s via %s\n", search_types[t].name, search_types[t].cont_name); @@ -1122,7 +1122,8 @@ static bool test_many_dirs(struct torture_context *tctx, goto done; } - if (strcmp(file3[i].search.name, file2[i].search.name) != 0) { + if (torture_setting_bool(tctx, "rewind_support", true) && + strcmp(file3[i].search.name, file2[i].search.name) != 0) { printf("(%s) server did not rewind - got '%s' expected '%s'\n", __location__, file3[i].search.name, file2[i].search.name); ret = false; @@ -1273,6 +1274,12 @@ static bool test_ea_list(struct torture_context *tctx, printf("Testing RAW_SEARCH_EA_LIST level\n"); + if (!torture_setting_bool(tctx, "search_ea_support", true) || + !torture_setting_bool(tctx, "ea_support", true)) { + printf("..skipped per target configuration.\n"); + return true; + } + fnum = smbcli_open(cli->tree, BASEDIR "\\file1.txt", O_CREAT|O_RDWR, DENY_NONE); smbcli_close(cli->tree, fnum); diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c index 9c1304fc16..cb080dfded 100644 --- a/source4/torture/smbtorture.c +++ b/source4/torture/smbtorture.c @@ -523,6 +523,7 @@ int main(int argc,char *argv[]) if (strcmp(target, "samba3") == 0) { lp_set_cmdline(cmdline_lp_ctx, "torture:samba3", "true"); + lp_set_cmdline(cmdline_lp_ctx, "torture:resume_key_support", "false"); } else if (strcmp(target, "samba4") == 0) { lp_set_cmdline(cmdline_lp_ctx, "torture:samba4", "true"); } else if (strcmp(target, "winxp") == 0) { @@ -537,11 +538,17 @@ int main(int argc,char *argv[]) lp_set_cmdline(cmdline_lp_ctx, "torture:win7", "true"); lp_set_cmdline(cmdline_lp_ctx, "torture:cn_max_buffer_size", "0x00010000"); + lp_set_cmdline(cmdline_lp_ctx, "torture:resume_key_support", "false"); + lp_set_cmdline(cmdline_lp_ctx, "torture:rewind_support", "false"); + + /* RAW-SEARCH for fails for inexplicable reasons against win7 */ + lp_set_cmdline(cmdline_lp_ctx, "torture:search_ea_support", "false"); } else if (strcmp(target, "onefs") == 0) { lp_set_cmdline(cmdline_lp_ctx, "torture:onefs", "true"); lp_set_cmdline(cmdline_lp_ctx, "torture:openx_deny_dos_support", "false"); lp_set_cmdline(cmdline_lp_ctx, "torture:sacl_support", "false"); + lp_set_cmdline(cmdline_lp_ctx, "torture:ea_support", "false"); lp_set_cmdline(cmdline_lp_ctx, "torture:smblock_pdu_support", "false"); lp_set_cmdline(cmdline_lp_ctx, "torture:2_step_break_to_none", @@ -550,6 +557,8 @@ int main(int argc,char *argv[]) lp_set_cmdline(cmdline_lp_ctx, "torture:deny_fcb_support", "false"); lp_set_cmdline(cmdline_lp_ctx, "torture:read_support", "false"); lp_set_cmdline(cmdline_lp_ctx, "torture:writeclose_support", "false"); + lp_set_cmdline(cmdline_lp_ctx, "torture:resume_key_support", "false"); + lp_set_cmdline(cmdline_lp_ctx, "torture:rewind_support", "false"); } if (max_runtime) { diff --git a/source4/torture/smbtorture.h b/source4/torture/smbtorture.h index c7bbcf2d9d..a4f25958a6 100644 --- a/source4/torture/smbtorture.h +++ b/source4/torture/smbtorture.h @@ -91,4 +91,26 @@ bool torture_register_suite(struct torture_suite *suite); * steps rather than 1. */ +/* torture:resume_key_support + * + * Server supports resuming search via key. + */ + +/* torture:rewind_support + * + * Server supports rewinding during search. + */ + +/* torture:ea_support + * + * Server supports OS/2 style EAs. + */ + +/* torture:search_ea_support + * + * Server supports RAW_SEARCH_DATA_EA_LIST - Torture currently + * does not interact correctly with win7, this flag disables + * the appropriate test. + */ + #endif /* __SMBTORTURE_H__ */ |