From ba3056ba67d7b6722eb0e2dacfb3d7aa75e99fa5 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Fri, 22 Apr 2016 13:00:01 +0300 Subject: [PATCH] tests/kms_sink_crc_basic: clean up assert_color and provide more details Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Cc: Jani Nikula We can simply sscanf the crc in one go. Also split up the igt asserts to get better details about what went wrong. Signed-off-by: Jani Nikula --- tests/kms_sink_crc_basic.c | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/tests/kms_sink_crc_basic.c b/tests/kms_sink_crc_basic.c index e47b8b513393..9fac958f2142 100644 --- a/tests/kms_sink_crc_basic.c +++ b/tests/kms_sink_crc_basic.c @@ -62,40 +62,24 @@ static void get_crc(char *crc) { igt_assert(strcmp(crc, CRC_BLACK) != 0); } -static void assert_color(char *crc, enum color color) +static void assert_color(const char *crc, enum color color) { - char color_mask[5] = "FFFF\0"; - char rs[5], gs[5], bs[5]; - unsigned int rh, gh, bh, mask; + unsigned int r, g, b; int ret; - sscanf(color_mask, "%4x", &mask); - - memcpy(rs, &crc[0], 4); - rs[4] = '\0'; - ret = sscanf(rs, "%4x", &rh); - igt_require(ret > 0); - - memcpy(gs, &crc[4], 4); - gs[4] = '\0'; - ret = sscanf(gs, "%4x", &gh); - igt_require(ret > 0); - - memcpy(bs, &crc[8], 4); - bs[4] = '\0'; - ret = sscanf(bs, "%4x", &bh); - igt_require(ret > 0); + ret = sscanf(crc, "%4x%4x%4x", &r, &g, &b); + igt_assert_eq(ret, 3); switch (color) { case RED: - igt_assert((rh & mask) != 0 && - (gh & mask) == 0 && - (bh & mask) == 0); + igt_assert_lt(0, r); + igt_assert_eq(0, g); + igt_assert_eq(0, b); break; case GREEN: - igt_assert((rh & mask) == 0 && - (gh & mask) != 0 && - (bh & mask) == 0); + igt_assert_eq(0, r); + igt_assert_lt(0, g); + igt_assert_eq(0, b); break; default: igt_fail(IGT_EXIT_FAILURE); -- 2.1.4