Are there automated tests that verify that Wine's drawing operations produce the same visual output as in Windows?

Ken Thomases ken at codeweavers.com
Sun Jul 13 12:09:52 CDT 2014


On Jul 13, 2014, at 11:39 AM, Alexander Almaleh <sashoalm at gmail.com> wrote:

> While testing the Polygon() function for my bug report - https://bugs.winehq.org/show_bug.cgi?id=36891, I used a test program that performs a Polygon() operation on a memory device context, and then saves it to a bitmap - i.e. a *.bmp file.
> 
> I then compared the bitmaps produced under Windows and Wine using a program I wrote in Qt, that just compares width/height, and then makes a pixel-by-pixel comparison (and the Polygon() function did indeed produce a slightly different bitmap).
> 
> Since this process can be easily automated, I'm wondering if such a framework is already being used? If not, I could probably make a sample test program and image comparison tool, if anyone is interested.
> 
> It would be fairly easily to spot all kinds of bugs in the drawing functions using such a testing system.

There are such tests.  They were central to the development of the DIB engine.  See dlls/gdi32/tests/dib.c.

The tests run under Wine or on Windows, not both in concert.  They can't directly take output from one and compare to the other.  Also, one doesn't want to store a slew of bitmaps into the tests for pixel-wise comparison.  So, the approach is to take a hash of the bitmap data and compare to a hash of a known-good bitmap.

-Ken

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20140713/a072c09c/attachment.html>


More information about the wine-devel mailing list