[igt-dev] [PATCH igt] igt/drv_hangman: Check that the error state does hold the expected state

Chris Wilson chris at chris-wilson.co.uk
Mon Mar 5 10:09:45 UTC 2018


Actually check the error state exists (!"No error state captured") and
that it contains the expected engine dump.

v2: Throw in some debug clues.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/drv_hangman.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/drv_hangman.c b/tests/drv_hangman.c
index 38cb20c3..fa7becf5 100644
--- a/tests/drv_hangman.c
+++ b/tests/drv_hangman.c
@@ -129,6 +129,14 @@ static void check_error_state(const char *expected_ring_name,
 	FILE *file = open_error();
 	char *line = NULL;
 	size_t line_size = 0;
+	bool found = false;
+
+	igt_debug("%s(expected ring name=%s, expected offset=%"PRIx64")\n",
+		  __func__, expected_ring_name, expected_offset);
+	igt_debugfs_dump(device, "i915_error_state");
+
+	getline(&line, &line_size, file);
+	igt_assert(strcasecmp(line, "No error state captured"));
 
 	while (getline(&line, &line_size, file) > 0) {
 		char *dashes;
@@ -168,12 +176,16 @@ static void check_error_state(const char *expected_ring_name,
 					 4*i, batch[i]);
 				igt_assert(strstr(line, expected_line));
 			}
+
+			found = true;
 			break;
 		}
 	}
 
 	free(line);
 	fclose(file);
+
+	igt_assert(found);
 }
 
 static void test_error_state_capture(unsigned ring_id,
-- 
2.16.2



More information about the igt-dev mailing list