[PATCH 07/11] torture: Only error if the write time was updated is less than the expected delay

Jelmer Vernooij jelmer at samba.org
Fri Jun 20 05:00:34 MDT 2014


Reviewed-By: me

On Fri, Jun 20, 2014 at 10:28:49PM +1200, abartlet at samba.org wrote:
> From: Andrew Bartlett <abartlet at samba.org>
> 
> The previous test was far, far too tight, it was in seconds 1/4 of the
> fraction of the normal delay we had configured Samba to use so (1/4) *
> (500 000 / 2000 000) = 1/16 (sec).  This margin appears to just be too
> tight for our loaded test server.
> 
> Andrew Bartlett
> 
> Change-Id: I159db104a85b4a5b5898459882fcaa259c03db56
> Signed-off-by: Andrew Bartlett <abartlet at samba.org>
> ---
>  source4/torture/basic/delaywrite.c | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/source4/torture/basic/delaywrite.c b/source4/torture/basic/delaywrite.c
> index 23130e1..30cb5da 100644
> --- a/source4/torture/basic/delaywrite.c
> +++ b/source4/torture/basic/delaywrite.c
> @@ -212,11 +212,11 @@ static bool test_delayed_write_update1(struct torture_context *tctx, struct smbc
>  		       nt_time_string(tctx, finfo2.all_info.out.write_time));
>  		if (finfo1.all_info.out.write_time != finfo2.all_info.out.write_time) {
>  			double diff = timeval_elapsed(&start);
> -			if (diff > (0.25 * sec)) {
> +			if (diff > (0.25 * (used_delay / (double)1000000))) {
>  				torture_result(tctx, TORTURE_FAIL, "After SMBwrite truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(wrong!)\n",
> -					diff, sec);
> +					"(write time update dealy == %.2f)(wrong!)\n",
> +					       diff, used_delay / (double)1000000);
>  				ret = false;
>  				break;
>  			}
> @@ -224,7 +224,7 @@ static bool test_delayed_write_update1(struct torture_context *tctx, struct smbc
>  			torture_comment(tctx, "After SMBwrite truncate "
>  					"server updated write_time after %.2f seconds"
>  					"(1 sec == %.2f)(correct)\n",
> -					diff, sec);
> +					diff, used_delay / (double)1000000);
>  			break;
>  		}
>  		fflush(stdout);
> @@ -397,19 +397,19 @@ static bool test_delayed_write_update1a(struct torture_context *tctx, struct smb
>  		       nt_time_string(tctx, finfo2.all_info.out.write_time));
>  		if (finfo1.all_info.out.write_time != finfo2.all_info.out.write_time) {
>  			double diff = timeval_elapsed(&start);
> -			if (diff > (0.25 * sec)) {
> +			if (diff > (0.25 * (used_delay / (double)1000000))) {
>  				torture_result(tctx, TORTURE_FAIL, "After SMBwrite truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(wrong!)\n",
> -					diff, sec);
> +					"(write time update delay == %.2f)(wrong!)\n",
> +					diff, used_delay / (double)1000000);
>  				ret = false;
>  				break;
>  			}
>  
>  			torture_comment(tctx, "After SMBwrite truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(correct)\n",
> -					diff, sec);
> +					"(write time update delay == %.2f)(correct)\n",
> +					diff, used_delay / (double)1000000);
>  			break;
>  		}
>  		fflush(stdout);
> @@ -572,20 +572,20 @@ static bool test_delayed_write_update1b(struct torture_context *tctx, struct smb
>  		       nt_time_string(tctx, finfo2.all_info.out.write_time));
>  		if (finfo1.all_info.out.write_time != finfo2.all_info.out.write_time) {
>  			double diff = timeval_elapsed(&start);
> -			if (diff > (0.25 * sec)) {
> +			if (diff > (0.25 * (used_delay / (double)1000000))) {
>  				torture_result(tctx, TORTURE_FAIL, 
>  					"After SET_END_OF_FILE truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(wrong!)",
> -					diff, sec);
> +					"(write time update delay == %.2f)(wrong!)",
> +					diff, used_delay / (double)1000000);
>  				ret = false;
>  				break;
>  			}
>  
>  			torture_comment(tctx, "After SET_END_OF_FILE truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(correct)\n",
> -					diff, sec);
> +					"(write time update delay == %.2f)(correct)\n",
> +					diff, used_delay / (double)1000000);
>  			break;
>  		}
>  		fflush(stdout);
> @@ -751,19 +751,19 @@ static bool test_delayed_write_update1c(struct torture_context *tctx, struct smb
>  		       nt_time_string(tctx, finfo2.all_info.out.write_time));
>  		if (finfo1.all_info.out.write_time != finfo2.all_info.out.write_time) {
>  			double diff = timeval_elapsed(&start);
> -			if (diff > (0.25 * sec)) {
> +			if (diff > (0.25 * (used_delay / (double)1000000))) {
>  				torture_result(tctx, TORTURE_FAIL, "After SET_ALLOCATION_INFO truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(wrong!)\n",
> -					diff, sec);
> +					"(write time update delay == %.2f)(wrong!)\n",
> +					diff, used_delay / (double)1000000);
>  				ret = false;
>  				break;
>  			}
>  
>  			torture_comment(tctx, "After SET_ALLOCATION_INFO truncate "
>  					"server updated write_time after %.2f seconds"
> -					"(1 sec == %.2f)(correct)\n",
> -					diff, sec);
> +					"(write time update delay == %.2f)(correct)\n",
> +					diff, used_delay / (double)1000000);
>  			break;
>  		}
>  		fflush(stdout);
> -- 
> 1.9.3
> 


More information about the samba-technical mailing list