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

Luca Coelho luca at coelho.fi
Wed Jun 15 12:25:33 UTC 2022


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.

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