[PATCH weston v3 04/15] tests: Add surface checks

Bryce Harrington bryce at osg.samsung.com
Thu May 21 14:46:07 PDT 2015


One more change requested by pq...

------------------------------------------------------------------------

tests: Check that the PNG file's stride matches our internal assumption

Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
---
 tests/internal-screenshot-test.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/internal-screenshot-test.c b/tests/internal-screenshot-test.c
index b570733..f2e6c16 100644
--- a/tests/internal-screenshot-test.c
+++ b/tests/internal-screenshot-test.c
@@ -75,6 +75,7 @@ load_surface_from_png(const char *fname) {
 	cairo_surface_t *reference_cairo_surface;
 	cairo_status_t status;
 	size_t source_data_size;
+	int bpp;
 	int stride;
 
 	printf("Loading reference image %s\n", fname);
@@ -98,6 +99,15 @@ load_surface_from_png(const char *fname) {
 	stride = cairo_image_surface_get_stride(reference_cairo_surface);
 	source_data_size = stride * reference->height;
 
+	/* Check that the file's stride matches our assumption */
+	bpp = 4;
+	if (stride != bpp * reference->width) {
+		printf("Mismatched stride for screenshot reference image %s\n", fname);
+		cairo_surface_destroy(reference_cairo_surface);
+		free(reference);
+		return NULL;
+	}
+
 	/* Allocate new buffer for our weston reference, and copy the data from
 	   the cairo surface so we can destroy it */
 	reference->data = xzalloc(source_data_size);
-- 
1.9.1


More information about the wayland-devel mailing list