tests: rewrite check_surfaces_*() API
authorPekka Paalanen <pekka.paalanen@collabora.co.uk>
Mon, 23 May 2016 14:42:27 +0000 (17:42 +0300)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 29 Jun 2016 09:41:31 +0000 (12:41 +0300)
commit47d68dae59e82c07a2a2ee9175a7d19d99a0592e
tree1da123f696d4e0a0da442187024811077b457100
parent2be0c9812281a4a1825e3c683d17b5da88ca51c5
tests: rewrite check_surfaces_*() API

check_surfaces_geometry() is removed as it was not used by anything, and
unlikely would be.

check_surfaces_equal() is merged into check_surfaces_match_in_clip(),
passing a NULL clip means to compare whole images.

check_surfaces_match_in_clip() is converted to work on pixman_image_t
instead of struct surface. The function is only concerned about
comparing images in memory, and does not care about a wl_buffer or a
wl_surface.

The verbosity of image comparisons is greatly reduced. An image mismatch
no longer prints a flood of raw pixel values. This will be replaced
later with a function writing out an error image instead.

Degenerate comparisons are no longer accepted, be that clip outside
images or zero area. Those are an indication of a programmer error.

The pixel format assumptions are made more visible in the code.

A new internal helper image_check_get_roi() computes and verifies the
area to be compared. Image iterator helper makes it simpler to write
manual pixel-poking loops.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Daniel Stone <daniels@collabora.com>
tests/internal-screenshot-test.c
tests/weston-test-client-helper.c
tests/weston-test-client-helper.h