[Intel-gfx] [CI igt 2/5] igt/gem_workarounds: Also exercise fresh contexts not the persistent default

Chris Wilson chris at chris-wilson.co.uk
Tue Oct 3 13:45:16 UTC 2017


Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/gem_workarounds.c | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/tests/gem_workarounds.c b/tests/gem_workarounds.c
index 95ec250a..c252133f 100644
--- a/tests/gem_workarounds.c
+++ b/tests/gem_workarounds.c
@@ -164,8 +164,14 @@ static int workaround_fail_count(int fd)
 	return fail_count;
 }
 
-static void check_workarounds(int fd, enum operation op)
+#define CONTEXT 0x1
+static void check_workarounds(int fd, enum operation op, unsigned int flags)
 {
+	uint32_t ctx = 0;
+
+	if (flags & CONTEXT)
+		ctx = gem_context_create(fd);
+
 	igt_assert_eq(workaround_fail_count(fd), 0);
 
 	switch (op) {
@@ -178,13 +184,16 @@ static void check_workarounds(int fd, enum operation op)
 		break;
 
 	case SIMPLE_READ:
-		return;
+		break;
 
 	default:
 		igt_assert(0);
 	}
 
 	igt_assert_eq(workaround_fail_count(fd), 0);
+
+	if (ctx)
+		gem_context_destroy(fd, ctx);
 }
 
 igt_main
@@ -230,11 +239,20 @@ igt_main
 	}
 
 	igt_subtest("basic-read")
-		check_workarounds(device, SIMPLE_READ);
+		check_workarounds(device, SIMPLE_READ, 0);
+
+	igt_subtest("basic-read-context")
+		check_workarounds(device, SIMPLE_READ, CONTEXT);
 
 	igt_subtest("reset")
-		check_workarounds(device, GPU_RESET);
+		check_workarounds(device, GPU_RESET, 0);
+
+	igt_subtest("reset-context")
+		check_workarounds(device, GPU_RESET, CONTEXT);
 
 	igt_subtest("suspend-resume")
-		check_workarounds(device, SUSPEND_RESUME);
+		check_workarounds(device, SUSPEND_RESUME, 0);
+
+	igt_subtest("suspend-resume-context")
+		check_workarounds(device, SUSPEND_RESUME, CONTEXT);
 }
-- 
2.14.2



More information about the Intel-gfx mailing list