diff mbox series

[i-g-t] i915/hangman: Skip if disabled by the kernel

Message ID 20190110091912.10893-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show
Series [i-g-t] i915/hangman: Skip if disabled by the kernel | expand

Commit Message

Chris Wilson Jan. 10, 2019, 9:19 a.m. UTC
Some kernels may have to disable error capture for some hardware or by
it being configured out. Since it is conditionally available, asserting
it exists is not an actual requirement. For hardware where we are unable
to provide error state capture, skip.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/i915/hangman.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

Comments

Antonio Argenziano Jan. 10, 2019, 10:11 p.m. UTC | #1
On 10/01/19 01:19, Chris Wilson wrote:
> Some kernels may have to disable error capture for some hardware or by
> it being configured out. Since it is conditionally available, asserting
> it exists is not an actual requirement. For hardware where we are unable
> to provide error state capture, skip.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

LGTM.
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
diff mbox series

Patch

diff --git a/tests/i915/hangman.c b/tests/i915/hangman.c
index 6ddae4912..4035f7384 100644
--- a/tests/i915/hangman.c
+++ b/tests/i915/hangman.c
@@ -42,13 +42,16 @@ 
 static int device = -1;
 static int sysfs = -1;
 
-static void test_sysfs_error_exists(void)
+static bool has_error_state(int dir)
 {
-	char *error;
+	int fd;
 
-	error = igt_sysfs_get(sysfs, "error");
-	igt_assert(error);
-	free(error);
+	fd = openat(dir, "error", O_RDONLY);
+	if (fd < 0)
+		return false;
+
+	close(fd);
+	return true;
 }
 
 static void assert_entry(const char *s, bool expect)
@@ -256,12 +259,12 @@  igt_main
 
 		device = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(device);
+
 		sysfs = igt_sysfs_open(device, &idx);
 		igt_assert(sysfs != -1);
-	}
 
-	igt_subtest("error-state-sysfs-entry")
-		test_sysfs_error_exists();
+		igt_require(has_error_state(sysfs));
+	}
 
 	igt_subtest("error-state-basic")
 		test_error_state_basic();