summaryrefslogtreecommitdiff
path: root/tests/i915/gem_exec_capture.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-01-29 11:17:41 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-01-29 23:42:42 +0000
commit96c2dfbbb2c10cd92ddc9fe22993371bc3ba36a1 (patch)
tree79e228174a3b4af84524a787c7ce7696656b1f12 /tests/i915/gem_exec_capture.c
parent998e0a4aedf10fb5f7c271018cd80d874668bf55 (diff)
i915/gem_exec_capture: Check the strlen() for an empty file
igt_sysfs_get() only returns NULL if the open() fails, and a valid string otherwise. So if the read() fails with ENODEV (because sysfs doesn't provide the driver with an ->open() callback), we return an empty string, and "No error captured" otherwise. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109481 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
Diffstat (limited to 'tests/i915/gem_exec_capture.c')
-rw-r--r--tests/i915/gem_exec_capture.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/i915/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
index eca73ab1..56837dfc 100644
--- a/tests/i915/gem_exec_capture.c
+++ b/tests/i915/gem_exec_capture.c
@@ -519,6 +519,11 @@ static bool has_capture(int fd)
return async > 0;
}
+static size_t safer_strlen(const char *s)
+{
+ return s ? strlen(s) : 0;
+}
+
igt_main
{
const struct intel_execution_engine *e;
@@ -544,7 +549,7 @@ igt_main
dir = igt_sysfs_open(fd, NULL);
igt_require(igt_sysfs_set(dir, "error", "Begone!"));
- igt_require(igt_sysfs_get(dir, "error"));
+ igt_require(safer_strlen(igt_sysfs_get(dir, "error")) > 0);
}
for (e = intel_execution_engines; e->name; e++) {