summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorArkadiusz Hiler <arkadiusz.hiler@intel.com>2019-04-04 16:17:40 +0300
committerArkadiusz Hiler <arkadiusz.hiler@intel.com>2019-04-05 10:26:26 +0300
commit02b1706e8b1ca93a53d4ef0f9c484a6f1a0d18f2 (patch)
treec52dc7f4086e7ba120f789415c82460b76fe7b17 /lib
parent8770e24fe4008404da769c16b7edac6142225ad7 (diff)
lib/igt_kms: Be more verbose about failure in kmstest_wait_for_pageflip
First, we set errno to 0 before doing select() to avoid random pollution of the assert message with things like: "Last errno: 25, Inappropriate ioctl for device" Second, we log explicitly if we exceeded the timeout (ret == 0). Third, if we fail the select() we log that with some explanation. Cc: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/igt_kms.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index a975ff14..f8b0dab2 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1504,9 +1504,17 @@ void kmstest_wait_for_pageflip(int fd)
FD_ZERO(&fds);
FD_SET(fd, &fds);
do {
+ errno = 0;
ret = select(fd + 1, &fds, NULL, NULL, &timeout);
} while (ret < 0 && errno == EINTR);
- igt_assert_eq(ret, 1);
+
+ igt_fail_on_f(ret == 0,
+ "Exceeded timeout (50ms) while waiting for a pageflip\n");
+
+ igt_assert_f(ret == 1,
+ "Waiting for pageflip failed with %d from select(drmfd)\n",
+ ret);
+
igt_assert(drmHandleEvent(fd, &evctx) == 0);
}