[Intel-gfx] [PATCH i-g-t] igt/drv_hangman: Fix clear_error_state

Chris Wilson chris at chris-wilson.co.uk
Thu Feb 23 01:52:04 UTC 2017


On Wed, Feb 22, 2017 at 05:26:29PM -0800, Michel Thierry wrote:
> clear_error_state was not doing anything (igt_sysfs_set was not writing to
> the error file).
> 
> Also fix assert_entry to catch this issue; strcasecmp returns 0 when
> there's a match, or an integer in a mismatch.
> 
> Finally, only print part of the error string when the assert fails.
> 
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Fixes: 79c6a84ca85b ("igt/drv_hangman: Migrate to sysfs")
> Signed-off-by: Michel Thierry <michel.thierry at intel.com>
> ---
>  tests/drv_hangman.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/drv_hangman.c b/tests/drv_hangman.c
> index cafdf4c1..43f73661 100644
> --- a/tests/drv_hangman.c
> +++ b/tests/drv_hangman.c
> @@ -58,9 +58,15 @@ static void assert_entry(const char *s, bool expect)
>  	error = igt_sysfs_get(sysfs, "error");
>  	igt_assert(error);
>  
> -	igt_assert_f(strcasecmp(error, s) != expect,
!!strcasecmp != expect
or (bool)strcasecmp != expect, type promotion working in the opposite
direction.

> -		     "contents of error: '%s' (expected %s '%s')\n",
> -		     error, expect ? "": "not", s);
> +	if (expect) {
> +		igt_assert_f(strcasecmp(error, s) == 0,
> +			     "contents of error: '%.24s' (expected %s '%s')\n",
> +			     error, expect ? "": "not", s);

Keep the full error state, it can be very informative. 24 characters
isn't enough to determine what.

> +	} else {
> +		igt_assert_f(strcasecmp(error, s) != 0,
> +			     "contents of error: '%.24s' (expected %s '%s')\n",
> +			     error, expect ? "": "not", s);
> +	}
>  
>  	free(error);
>  }
> @@ -77,7 +83,7 @@ static void assert_error_state_collected(void)
>  
>  static void clear_error_state(void)
>  {
> -	igt_sysfs_set(sysfs, "error", "");
> +	igt_sysfs_set(sysfs, "error", " ");

My bad, I was expecting it write the nul character. "\0" would be my
preference
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list