tests/debugfs_pipe_crc: new subtest to check CRC frame numbers

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2013-10-18 18:43:30 +02:00
parent 09e9f0b216
commit f698984bae

View File

@ -146,7 +146,9 @@ static void display_fini(data_t *data)
drmModeFreeResources(data->resources); drmModeFreeResources(data->resources);
} }
static void test_read_crc(data_t *data, int pipe) #define TEST_SEQUENCE (1<<0)
static void test_read_crc(data_t *data, int pipe, unsigned flags)
{ {
connector_t *connector; connector_t *connector;
igt_pipe_crc_t *pipe_crc; igt_pipe_crc_t *pipe_crc;
@ -193,6 +195,11 @@ static void test_read_crc(data_t *data, int pipe)
igt_assert(igt_crc_equal(&crcs[0], &crcs[1])); igt_assert(igt_crc_equal(&crcs[0], &crcs[1]));
igt_assert(igt_crc_equal(&crcs[1], &crcs[2])); igt_assert(igt_crc_equal(&crcs[1], &crcs[2]));
if (flags & TEST_SEQUENCE) {
igt_assert(crcs[0].frame + 1 == crcs[1].frame);
igt_assert(crcs[1].frame + 1 == crcs[2].frame);
}
free(crcs); free(crcs);
igt_pipe_crc_free(pipe_crc); igt_pipe_crc_free(pipe_crc);
kmstest_remove_fb(data->drm_fd, &connector->fb); kmstest_remove_fb(data->drm_fd, &connector->fb);
@ -247,14 +254,13 @@ int main(int argc, char **argv)
igt_subtest("bad-nb-words-3") igt_subtest("bad-nb-words-3")
test_bad_command(&data, "pipe A none option"); test_bad_command(&data, "pipe A none option");
igt_subtest("read-crc-pipe-A") for (int i = 0; i < 3; i++) {
test_read_crc(&data, 0); igt_subtest_f("read-crc-pipe-%c", 'A'+i)
test_read_crc(&data, i, 0);
igt_subtest("read-crc-pipe-B") igt_subtest_f("read-crc-pipe-%c-frame-sequence", 'A'+i)
test_read_crc(&data, 1); test_read_crc(&data, i, TEST_SEQUENCE);
}
igt_subtest("read-crc-pipe-C")
test_read_crc(&data, 2);
igt_fixture { igt_fixture {
igt_pipe_crc_reset(); igt_pipe_crc_reset();