torture_suite_add_smb_multi_test(suite, "bench-torture", run_torture);
torture_suite_add_1smb_test(suite, "scan-pipe_number", run_pipe_number);
torture_suite_add_1smb_test(suite, "scan-ioctl", torture_ioctl_test);
- torture_suite_add_smb_multi_test(suite, "scan-maxfid", run_maxfidtest);
+ torture_suite_add_1smb_test(suite, "scan-maxfid", torture_maxfid_test);
suite->description = talloc_strdup(suite,
"Basic SMB tests (imported from the original smbtorture)");
/*
test how many open files this server supports on the one socket
*/
-bool run_maxfidtest(struct torture_context *tctx, struct smbcli_state *cli, int dummy)
+bool torture_maxfid_test(struct torture_context *tctx, struct smbcli_state *cli)
{
#define MAXFID_TEMPLATE "\\maxfid\\fid%d\\maxfid.%d.%d"
char *fname;
}
}
torture_comment(tctx, "%6d\n", i);
- i--;
maxfid = i;
torture_comment(tctx, "cleaning up\n");
- for (i=0;i<maxfid/2;i++) {
+ for (i=0;i<maxfid;i++) {
asprintf(&fname, MAXFID_TEMPLATE, i/1000, i,(int)getpid());
if (NT_STATUS_IS_ERR(smbcli_close(cli->tree, fnums[i]))) {
torture_comment(tctx, "Close of fnum %d failed - %s\n", fnums[i], smbcli_errstr(cli->tree));
}
free(fname);
- asprintf(&fname, MAXFID_TEMPLATE, (maxfid-i)/1000, maxfid-i,(int)getpid());
- if (NT_STATUS_IS_ERR(smbcli_close(cli->tree, fnums[maxfid-i]))) {
- torture_comment(tctx, "Close of fnum %d failed - %s\n", fnums[maxfid-i], smbcli_errstr(cli->tree));
- }
- if (NT_STATUS_IS_ERR(smbcli_unlink(cli->tree, fname))) {
- torture_comment(tctx, "unlink of %s failed (%s)\n",
- fname, smbcli_errstr(cli->tree));
- correct = false;
- }
- free(fname);
-
if (torture_setting_bool(tctx, "progress", true)) {
- torture_comment(tctx, "%6d %6d\r", i, maxfid-i);
+ torture_comment(tctx, "%6d\r", i);
fflush(stdout);
}
}
}
torture_comment(tctx, "maxfid test finished\n");
- if (!torture_close_connection(cli)) {
- correct = false;
- }
+
return correct;
#undef MAXFID_TEMPLATE
}