summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-03-11 08:40:23 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2015-03-11 08:53:27 +0000
commitf59935c0ce878d20f1a34ae814a778bf476c36f8 (patch)
treedb500c7a335653aa1201d33fd10a51f358014b55 /tests
parent07be8fec156ba8405f2aafa3a37fe29d06893f05 (diff)
igt/kms_psr_sink_crc: Prettify i915_edp_psr_status failures
Change the formatting asserts into requires and add the contents into the debug log. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89525
Diffstat (limited to 'tests')
-rw-r--r--tests/kms_psr_sink_crc.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
index faefde65..ddcc903f 100644
--- a/tests/kms_psr_sink_crc.c
+++ b/tests/kms_psr_sink_crc.c
@@ -177,9 +177,9 @@ static void fill_render(data_t *data, uint32_t handle, unsigned char color)
static bool psr_enabled(data_t *data)
{
- int ret;
FILE *file;
- char str[4];
+ char buf[4096];
+ int ret;
if (running_with_psr_disabled)
return true;
@@ -187,15 +187,30 @@ static bool psr_enabled(data_t *data)
file = igt_debugfs_fopen("i915_edp_psr_status", "r");
igt_require(file);
- ret = fscanf(file, "Sink_Support: %s\n", str);
- igt_assert_neq(ret, 0);
- ret = fscanf(file, "Source_OK: %s\n", str);
- igt_assert_neq(ret, 0);
- ret = fscanf(file, "Enabled: %s\n", str);
- igt_assert_neq(ret, 0);
+ /* First dump the entire file into the debug log for later analysis
+ * if required.
+ */
+ ret = fread(buf, 1, 4095, file);
+ igt_require(ret > 0);
+ buf[ret] = '\0';
+ igt_debug("i915_edp_psr_status:\n%s", buf);
+ fseek(file, 0, SEEK_SET);
+
+ /* Now check that we have all the preconditions required for PSR */
+ ret = fscanf(file, "Sink_Support: %s\n", buf);
+ igt_require_f(ret == 1 && strcmp(buf, "yes") == 0,
+ "Sink_Support: %s\n", buf);
+
+ ret = fscanf(file, "Source_OK: %s\n", buf);
+ igt_require_f(ret == 1 && strcmp(buf, "yes") == 0,
+ "Source_OK: %s\n", buf);
+
+ ret = fscanf(file, "Enabled: %s\n", buf);
+ igt_require_f(ret == 1 && strcmp(buf, "yes") == 0,
+ "Enabled: %s\n", buf);
fclose(file);
- return strcmp(str, "yes") == 0;
+ return true;
}
static bool psr_active(data_t *data)