Bug 96933

Summary: record* tests with xcb target failing even with CAIRO_REF_DIR generated from the same commit
Product: cairo Reporter: Darxus <darxus>
Component: xcb backendAssignee: Uli Schlachter <psychon>
Status: RESOLVED DUPLICATE QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium CC: darxus
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Script used to run the test three times on the latest commit
Script used to test random commits
Patch to disable these tests

Description Darxus 2016-07-14 19:39:21 UTC
Created attachment 125076 [details]
Script used to run the test three times on the latest commit

commit b73c082c7f412f53eb2e4b52689601128a5f06a0
(Latest commit.)

$ grep ': FAIL' test-suite.log 
record-paint-alpha-clip-mask: FAIL (xcb, xcb-window, xcb-window&)
record1414x-paint-alpha-clip-mask: FAIL (xcb, xcb-window, xcb-window&)
record2x-paint-alpha-clip-mask: FAIL (xcb, xcb-window, xcb-window&)
recordflip-paint-alpha-clip-mask: FAIL (xcb, xcb-window&)

Run with:
Xvfb -screen 0 1680x1024x24 -ac -nolisten tcp :5 &

I ran it once, copied output to a reference directory, then ran it two more times, against that reference directory:
DISPLAY=:5 CAIRO_REF_DIR=$HOME/source/cairo-ref.xcb.xvfb.1 CAIRO_TEST_TARGET=xcb make test

Both times, these four tests failed.


I repeated this on random commits (generating a reference set from the commit, then running the tests against that reference), and for the 22 commits that included these tests, it looks like these tests are failing as far back as they exist (March 2012).

Results for these four tests are similar with the xlib target.

All tests pass for the image target when run similarly (with a new reference), except with an 8 bit Xvfb (two crash with a 24 bit Xvfb).
Comment 1 Darxus 2016-07-14 19:41:30 UTC
Created attachment 125077 [details]
Script used to test random commits
Comment 2 Darxus 2016-07-14 19:44:03 UTC
Mailing list post with more details on the 79 random commits tested:
https://lists.cairographics.org/archives/cairo/2016-July/027617.html
Comment 3 Darxus 2016-07-14 21:58:36 UTC
Created attachment 125080 [details] [review]
Patch to disable these tests

I disabled these tests, re-ran my script that runs the tests three times, and both times that it rain against the new reference the record90 test failed.  Which didn't surprise me - it showed up often in the more recent failures in the rest of the tests I ran.  So I also disabled it.  With this patch, and a freshly generated set of references, the xcb target passed (twice).

I recommend against closing this bug after only applying this patch.  I believe there is a legitimate bug causing them to fail.  But I think it's far more valuable having a set of tests that can pass.  I'm also open to other methods of disabling the problematic tests, this one just seems minimally invasive to me.
Comment 4 Massimo 2016-07-15 04:16:20 UTC
(In reply to Darxus from comment #0)
> Created attachment 125076 [details]
> Script used to run the test three times on the latest commit
> 
> commit b73c082c7f412f53eb2e4b52689601128a5f06a0
> (Latest commit.)
> 
> $ grep ': FAIL' test-suite.log 
> record-paint-alpha-clip-mask: FAIL (xcb, xcb-window, xcb-window&)

did you try the hack I attached to

https://bugs.freedesktop.org/show_bug.cgi?id=84330

I'm not sure it applies cleanly today, but it explained
a random failure
Comment 5 Darxus 2016-07-15 14:37:35 UTC
That patch does cause these tests (and therefore the entire xcb target) to pass (when used with freshly generated references).

*** This bug has been marked as a duplicate of bug 84330 ***

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.