[igt-dev] [PATCH i-g-t v2 4/4] tests/kms_sysfs_edid_timing: add total mean assertion threshold

Kahola, Mika mika.kahola at intel.com
Fri Jun 17 11:20:38 UTC 2022


> -----Original Message-----
> From: Luca Coelho <luca at coelho.fi>
> Sent: Wednesday, June 15, 2022 3:26 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Latvala, Petri <petri.latvala at intel.com>; Kahola, Mika
> <mika.kahola at intel.com>; luca at coelho.fi
> Subject: [PATCH i-g-t v2 4/4] tests/kms_sysfs_edid_timing: add total mean
> assertion threshold
> 
> From: Luca Coelho <luciano.coelho at intel.com>
> 
> Add an assertion to make sure that the mean time it takes to probe all
> connectors doesn't exceed 100 ms.  This is an arbitrary but reasonable amount
> of time, based on real life tests.
> 

Reviewed-by: Mika Kahola <mika.kahola at intel.com>

> Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
> ---
>  tests/kms_sysfs_edid_timing.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c
> index 4a14965fc21d..775211089f81 100644
> --- a/tests/kms_sysfs_edid_timing.c
> +++ b/tests/kms_sysfs_edid_timing.c
> @@ -28,21 +28,27 @@
> 
>  #define THRESHOLD_PER_CONNECTOR		150
>  #define THRESHOLD_PER_CONNECTOR_MEAN	140
> +#define THRESHOLD_ALL_CONNECTORS_MEAN	100
>  #define CHECK_TIMES			15
> 
>  IGT_TEST_DESCRIPTION("This test checks the time it takes to reprobe each "
>  		     "connector and fails if either the time it takes for "
>  		     "one reprobe is too long or if the mean time it takes "
> -		     "to reprobe one connector is too long.");
> +		     "to reprobe one connector is too long.  Additionally, "
> +		     "make sure that the mean time for all connectors is "
> +		     "not too long.");
> 
>  igt_simple_main
>  {
>  	DIR *dirp;
>  	struct dirent *de;
> +	struct igt_mean all_mean;
> 
>  	dirp = opendir("/sys/class/drm");
>  	igt_assert(dirp != NULL);
> 
> +	igt_mean_init(&all_mean);
> +
>  	while ((de = readdir(dirp))) {
>  		struct igt_mean mean = {};
>  		struct stat st;
> @@ -88,7 +94,14 @@ igt_simple_main
>  			     "%s: mean probe time exceeded %dms,
> max=%.2fms, avg=%.2fms\n",
>  			     de->d_name,
> THRESHOLD_PER_CONNECTOR_MEAN,
>  			     mean.max / 1e6, mean.mean / 1e6);
> +
> +		igt_mean_add(&all_mean, mean.mean);
>  	}
> -	closedir(dirp);
> 
> +	igt_assert_f(all_mean.mean < THRESHOLD_ALL_CONNECTORS_MEAN *
> 1e6,
> +		     "Mean of all connector means exceeds %dms, max=%.2fms,
> mean=%.2fms\n",
> +		     THRESHOLD_ALL_CONNECTORS_MEAN, all_mean.max /
> 1e6,
> +		     all_mean.mean / 1e6);
> +
> +	closedir(dirp);
>  }
> --
> 2.36.1



More information about the igt-dev mailing list