[Intel-gfx] [PATCH i-g-t v2] tests/psr: Don't strcmp CRCs that are not NULL terminated.

Sripada, Radhakrishna radhakrishna.sripada at intel.com
Fri Sep 22 01:01:43 UTC 2017



> -----Original Message-----
> From: Intel-gfx [mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Dhinakaran Pandiyan
> Sent: Tuesday, September 19, 2017 3:48 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: Pandiyan, Dhinakaran <dhinakaran.pandiyan at intel.com>; Vivi, Rodrigo
> <rodrigo.vivi at intel.com>
> Subject: [Intel-gfx] [PATCH i-g-t v2] tests/psr: Don't strcmp CRCs that are not
> NULL terminated.
> 
> Switched to strncmp.
> v2: increased buffer size to account for NULL character.
> 
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
> ---
>  tests/kms_psr_sink_crc.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
> index 1c25f2c8..ff257698 100644
> --- a/tests/kms_psr_sink_crc.c
> +++ b/tests/kms_psr_sink_crc.c
> @@ -34,6 +34,7 @@
>  bool running_with_psr_disabled;
> 
>  #define CRC_BLACK "000000000000"
> +#define CRC_LEN 12
> 
>  enum operations {
>  	PAGE_FLIP,
> @@ -243,7 +244,7 @@ static void get_sink_crc(data_t *data, char *crc) {
>  	usleep(300000);
> 
>  	/* Black screen is always invalid */
> -	igt_assert(strcmp(crc, CRC_BLACK) != 0);
> +	igt_assert(strncmp(crc, CRC_BLACK, CRC_LEN + 1) != 0);
>  }
> 
>  static bool is_green(char *crc)
> @@ -298,8 +299,8 @@ static void run_test(data_t *data)
>  	uint32_t handle = data->fb_white.gem_handle;
>  	igt_plane_t *test_plane;
>  	void *ptr;
> -	char ref_crc[12];
> -	char crc[12];
> +	char ref_crc[CRC_LEN + 1] = {0};
> +	char crc[CRC_LEN + 1] = {0};
>  	const char *expected = "";
> 
>  	/* Confirm that screen became Green */
> @@ -356,9 +357,9 @@ static void run_test(data_t *data)
>  		memset(ptr, 0xff, data->mod_size);
>  		get_sink_crc(data, crc);
>  		if (data->test_plane == DRM_PLANE_TYPE_PRIMARY)
> -			assert_or_manual(strcmp(ref_crc, crc) == 0, "screen
> WHITE");
> +			assert_or_manual(strncmp(ref_crc, crc, CRC_LEN + 1)
> == 0, "screen WHITE");
>  		else
> -			assert_or_manual(strcmp(ref_crc, crc) == 0,
> +			assert_or_manual(strncmp(ref_crc, crc, CRC_LEN + 1)
> == 0,
>  			       "GREEN background with WHITE box");
> 
>  		igt_info("Waiting 10s...\n");
> @@ -401,7 +402,7 @@ static void run_test(data_t *data)
>  		break;
>  	}
>  	get_sink_crc(data, crc);
> -	assert_or_manual(strcmp(ref_crc, crc) != 0, expected);
> +	assert_or_manual(strncmp(ref_crc, crc, CRC_LEN + 1) != 0,
> expected);
>  }
> 
>  static void test_cleanup(data_t *data) {
> --
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list