X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=source%2Ftorture%2Fnbench%2Fnbench.c;h=eb67e15fbb3896665bc508eb0df4ef671fcbaff4;hp=f671a5b0dec0393959b648c7cbf5f785a1025a3e;hb=7f045ca4f5e3e777978cad39ac22f0c611af6b10;hpb=9bb079d70d3fab3ad66143301e8ddfbb5135dedb diff --git a/source/torture/nbench/nbench.c b/source/torture/nbench/nbench.c index f671a5b0dec..eb67e15fbb3 100644 --- a/source/torture/nbench/nbench.c +++ b/source/torture/nbench/nbench.c @@ -24,6 +24,7 @@ #include "torture/util.h" #include "torture/torture.h" #include "system/filesys.h" +#include "system/locale.h" #include "pstring.h" #include "torture/nbench/proto.h" @@ -44,7 +45,6 @@ static BOOL run_netbench(struct torture_context *tctx, struct smbcli_state *cli, pstring line; char *cname; FILE *f; - const char **params; BOOL correct = True; if (torture_nprocs == 1) { @@ -64,9 +64,13 @@ static BOOL run_netbench(struct torture_context *tctx, struct smbcli_state *cli, return False; } + again: + nbio_time_reset(); + while (fgets(line, sizeof(line)-1, f)) { NTSTATUS status; + const char **params0, **params; nbench_line_count++; @@ -74,9 +78,16 @@ again: all_string_sub(line,"client1", cname, sizeof(line)); - params = str_list_make_shell(NULL, line, " "); + params = params0 = str_list_make_shell(NULL, line, " "); i = str_list_length(params); + if (i > 0 && isdigit(params[0][0])) { + double targett = strtod(params[0], NULL); + nbio_time_delay(targett); + params++; + i--; + } + if (i < 2 || params[0][0] == '#') continue; if (!strncmp(params[0],"SMB", 3)) { @@ -146,7 +157,7 @@ again: printf("[%d] Unknown operation %s\n", nbench_line_count, params[0]); } - talloc_free(params); + talloc_free(params0); if (nb_tick()) goto done; }