mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-11 18:06:13 +00:00
tests/kms_sink_crc_basic: clean up assert_color and provide more details
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 <jani.nikula@intel.com>
This commit is contained in:
parent
18170d211c
commit
a1e38c52c6
@ -62,40 +62,24 @@ static void get_crc(char *crc) {
|
|||||||
igt_assert(strcmp(crc, CRC_BLACK) != 0);
|
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";
|
unsigned int r, g, b;
|
||||||
char rs[5], gs[5], bs[5];
|
|
||||||
unsigned int rh, gh, bh, mask;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
sscanf(color_mask, "%4x", &mask);
|
ret = sscanf(crc, "%4x%4x%4x", &r, &g, &b);
|
||||||
|
igt_assert_eq(ret, 3);
|
||||||
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);
|
|
||||||
|
|
||||||
switch (color) {
|
switch (color) {
|
||||||
case RED:
|
case RED:
|
||||||
igt_assert((rh & mask) != 0 &&
|
igt_assert_lt(0, r);
|
||||||
(gh & mask) == 0 &&
|
igt_assert_eq(0, g);
|
||||||
(bh & mask) == 0);
|
igt_assert_eq(0, b);
|
||||||
break;
|
break;
|
||||||
case GREEN:
|
case GREEN:
|
||||||
igt_assert((rh & mask) == 0 &&
|
igt_assert_eq(0, r);
|
||||||
(gh & mask) != 0 &&
|
igt_assert_lt(0, g);
|
||||||
(bh & mask) == 0);
|
igt_assert_eq(0, b);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
igt_fail(IGT_EXIT_FAILURE);
|
igt_fail(IGT_EXIT_FAILURE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user