From: Stefan Metzmacher Date: Wed, 19 Sep 2007 16:22:19 +0000 (+0000) Subject: r25234: make WINBIND-STRUCT-PING a benchmark test X-Git-Url: http://git.samba.org/samba.git/?p=kai%2Fsamba.git;a=commitdiff_plain;h=a75ba7c53d28ab2182d70377837d7b9dd8682997 r25234: make WINBIND-STRUCT-PING a benchmark test which runs WINBIND_PING for 5 seconds metze (This used to be commit 86809a965e160d0e6dff2d9bde8c990783388d8d) --- diff --git a/source4/torture/winbind/struct_based.c b/source4/torture/winbind/struct_based.c index 3e17fe6358f..5ecc5c99da8 100644 --- a/source4/torture/winbind/struct_based.c +++ b/source4/torture/winbind/struct_based.c @@ -22,15 +22,31 @@ #include "torture/winbind/proto.h" #include "nsswitch/winbind_client.h" +#define DO_STRUCT_REQ_REP(op,req,rep) do { \ + NSS_STATUS _result; \ + _result = winbindd_request_response(op, req, rep); \ + torture_assert_int_equal(torture, _result, NSS_STATUS_SUCCESS, \ + __STRING(op) "(struct based)"); \ +} while (0) + static bool torture_winbind_struct_ping(struct torture_context *torture) { - NSS_STATUS result; - - torture_comment(torture, "Testing WINBINDD_PING (struct based protocol)\n"); - - result = winbindd_request_response(WINBINDD_PING, NULL, NULL); - torture_assert_int_equal(torture,result,NSS_STATUS_SUCCESS, - "WINBINDD_PING (struct based protocol)"); + struct timeval tv = timeval_current(); + int timelimit = torture_setting_int(torture, "timelimit", 5); + uint32_t total = 0; + + torture_comment(torture, + "Running WINBINDD_PING (struct based) for %d seconds\n", + timelimit); + + while (timeval_elapsed(&tv) < timelimit) { + DO_STRUCT_REQ_REP(WINBINDD_PING, NULL, NULL); + total++; + } + + torture_comment(torture, + "%u (%.1f/s) WINBINDD_PING (struct based)\n", + total, total / timeval_elapsed(&tv)); return true; }