Summary: | Add screenshooting based testing | ||
---|---|---|---|
Product: | Wayland | Reporter: | Pekka Paalanen <ppaalanen> |
Component: | weston | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | enhancement | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 83981 | ||
Bug Blocks: | 83980, 83989 |
Description
Pekka Paalanen
2014-09-17 12:39:48 UTC
As Derek pointed out in IRC, GL is not pixel-perfect between implementations, so we cannot use checksumming there. I wonder if it would be feasible to generate the reference images with the Pixman renderer at test runtime, se don't need to store reference images in the repository? Listing checksums for each GL implementation is not feasible. I also would not want to clutter Weston repository with reference images, as that would likely be a lot of data. Some plan for the GL-renderer would be needed. Using Pixman generated images as the reference will limit GL testing to features that Pixman renderer supports, but maybe that is enough? This also reminds us, that we need to verify if the Pixman rendered results are really intended to be pixel-perfect between Pixman releases by the Pixman upstream. If we cannot do checksumming at all, I fear we need a reference image repository. We don't have to require pixel-precision to do absolutely everything, mind. We can get a lot of the way there by using solid colours and subregions: - deterministic background colour - clients composed of deterministic coloured rectangles - test subregions of where clients are supposed to be (i.e. avoiding borders) to ensure the colours are as they are supposed to be That alone should get us enough to test the transform and rendering stack fully. I think we can close this as fixed by now. We have the framework for doing screenshot tests on Pixman renderer in place. We use reference images stored in git instead of checksums. Some of the open things are: - merging the test shell, so that we get deterministic window placement - adding GL support - ensuring wallpaper and panel are deterministic - fixing races against weston-desktop-shell start-up if necessary - fuzzy image matching - ensuring cursor images are deterministic But I think all those are a matter for other tasks. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.