[PATCH v1 weston 00/11] Headless rendering testing

Bryce Harrington bryce at osg.samsung.com
Wed Nov 19 15:06:15 PST 2014

This set of patches by Derek and I implement functionality to do
screenshot-based testing of wayland.

The idea is to allow tests to render the desktop to memory using Pixman,
apply an optional clipping mask via Cairo, and store the image to disk
as a PNG file.  A pixel checker routine is included which just checks
that the files are bit-for-bit equivalent.  The choice of checker is
under the control of the test case itself, so tests that need a more
fuzzy checker can provide one as needed.

A clipping mechanism is included to permit exclusion of areas of the
screen the test doesn't care about.  For example, the desktop clock's
time will vary from run to run, and thus differ from reference images so
you can clip out a subregion that excludes it.  Clipping also makes the
reference images smaller in git.

This patchset is intended to close the following bug reports as fixed:


Bryce Harrington (7):
  configure.ac: Indicate headless compositor presence in config.h
  compositor: Document options for headless compositor
  tests: Add a fadein test
  tests: Add test reference directory and images for fadein
  tests: Add support for comparing output against reference images
  tests: Use only a clipped portion of screenshot for comparisons
  tests: Construct the filename external to wl_test_record_screenshot

Derek Foreman (4):
  compositor-headless: allow rendering with pixman
  compositor-headless: add support for transforms set on command line
  tests: Allow tests to use customized command line parameters
  tests: Add screenshot recording to weston-test

 Makefile.am                       |  11 +++--
 configure.ac                      |   3 ++
 protocol/wayland-test.xml         |   8 ++++
 src/compositor-headless.c         |  73 +++++++++++++++++++++++++++----
 src/compositor.c                  |  10 +++++
 tests/fadein-test.c               |  76 ++++++++++++++++++++++++++++++++
 tests/reference/fadein-00-0.png   | Bin 0 -> 737 bytes
 tests/reference/fadein-01-0.png   | Bin 0 -> 3453 bytes
 tests/reference/fadein-02-0.png   | Bin 0 -> 3499 bytes
 tests/reference/fadein-03-0.png   | Bin 0 -> 3461 bytes
 tests/reference/fadein-04-0.png   | Bin 0 -> 3461 bytes
 tests/reference/fadein-05-0.png   | Bin 0 -> 3461 bytes
 tests/weston-test-client-helper.c |  67 +++++++++++++++++++++++++++++
 tests/weston-test-client-helper.h |  11 +++++
 tests/weston-test-runner.c        |   8 ++++
 tests/weston-test.c               |  88 ++++++++++++++++++++++++++++++++++++++
 tests/weston-tests-env            |   1 +
 17 files changed, 344 insertions(+), 12 deletions(-)
 create mode 100644 tests/fadein-test.c
 create mode 100644 tests/reference/fadein-00-0.png
 create mode 100644 tests/reference/fadein-01-0.png
 create mode 100644 tests/reference/fadein-02-0.png
 create mode 100644 tests/reference/fadein-03-0.png
 create mode 100644 tests/reference/fadein-04-0.png
 create mode 100644 tests/reference/fadein-05-0.png


More information about the wayland-devel mailing list