[cairo] What does it take to get a make check to pass with the xcb target, using CAIRO_REF_DIR?
darxus at chaosreigns.com
darxus at chaosreigns.com
Thu Jun 23 22:26:42 UTC 2016
A few years ago, I got make check to work with the image target, with help:
https://lists.cairographics.org/archives/cairo/2013-June/024411.html
This still works.
But I just tried it with the xcb, and the xlib target, running on Xvfb,
creating my own reference directory, and testing against it, and that
fails. I've read through test/README. What does it take to get it to
work?
Script that I ran to test it:
#########################################################################
Xvfb :3 &
git clean -xfd
./autogen.sh --prefix=$HOME/install --enable-gl --enable-xcb
make
DISPLAY=:3 CAIRO_TEST_TARGET=xcb make test
cp -a test/output/ $HOME/source/cairo-ref.xcb.xvfb.1
git clean -xfd
./autogen.sh --prefix=$HOME/install --enable-gl --enable-xcb
make
DISPLAY=:3 CAIRO_REF_DIR=$HOME/source/cairo-ref.xcb.xvfb.1 CAIRO_TEST_TARGET=xcb make test
cp -a test/output/ $HOME/source/cairo-ref.xcb.xvfb.2
git clean -xfd
./autogen.sh --prefix=$HOME/install --enable-gl --enable-xcb
make
DISPLAY=:3 CAIRO_REF_DIR=$HOME/source/cairo-ref.xcb.xvfb.2 CAIRO_TEST_TARGET=xcb make test
#########################################################################
(Yes, I did that an extra time, just to make sure it didn't help.)
The contents of test/output and the reference directory ended up being
basically identical. There are a few files that only exist in the xvfb.2
directory. And there are a couple tests that started working on that last
run, which I'm pretty sure shouldn't have changed anything?
< TEST: record2x-paint-alpha-clip-mask TARGET: xcb FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
> TEST: record2x-paint-alpha-clip-mask TARGET: xcb FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
< TEST: record1414x-paint-alpha-clip-mask TARGET: xcb FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
> TEST: record1414x-paint-alpha-clip-mask TARGET: xcb FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
darxus at dancer:~/source/cairo-ref.xcb.xvfb.1$ grep FAIL *.log | wc -l
2653
darxus at dancer:~/source/cairo-ref.xcb.xvfb.1$ grep PASS *.log | wc -l
2166
darxus at dancer:~/source/cairo-ref.xcb.xvfb.2$ grep FAIL *.log | wc -l
1598
darxus at dancer:~/source/cairo-ref.xcb.xvfb.2$ grep PASS *.log | wc -l
2118
darxus at dancer:~/source/cairo/test/output$ grep FAIL *.log | wc -l
1590
darxus at dancer:~/source/cairo/test/output$ grep PASS *.log | wc -l
2126
I'm not sure what information is useful to give you.
a1-bug.log:
Testing a1-bug with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/a1-bug.xcb.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/a1-bug.xcb.argb32.out.png
DIFFERENCE: output/a1-bug.xcb.argb32.diff.png
TEST: a1-bug TARGET: xcb FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing a1-bug with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/a1-bug.xcb.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/a1-bug.xcb.rgb24.out.png
DIFFERENCE: output/a1-bug.xcb.rgb24.diff.png
TEST: a1-bug TARGET: xcb FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing a1-bug with xcb-window target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: a1-bug TARGET: xcb-window FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing a1-bug with xcb-window& target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: a1-bug TARGET: xcb-window& FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing a1-bug with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/a1-bug.xcb-render-0_0.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/a1-bug.xcb-render-0_0.argb32.out.png
DIFFERENCE: output/a1-bug.xcb-render-0_0.argb32.diff.png
TEST: a1-bug TARGET: xcb-render-0_0 FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing a1-bug with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/a1-bug.xcb-render-0_0.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/a1-bug.xcb-render-0_0.rgb24.out.png
DIFFERENCE: output/a1-bug.xcb-render-0_0.rgb24.diff.png
TEST: a1-bug TARGET: xcb-render-0_0 FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing a1-bug with xcb-fallback target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: a1-bug TARGET: xcb-fallback FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
overlapping-boxes.log:
Testing overlapping-boxes with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/overlapping-boxes.xcb.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/overlapping-boxes.xcb.argb32.out.png
DIFFERENCE: output/overlapping-boxes.xcb.argb32.diff.png
TEST: overlapping-boxes TARGET: xcb FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing overlapping-boxes with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/overlapping-boxes.xcb.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/overlapping-boxes.xcb.rgb24.out.png
DIFFERENCE: output/overlapping-boxes.xcb.rgb24.diff.png
TEST: overlapping-boxes TARGET: xcb FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing overlapping-boxes with xcb-window target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: overlapping-boxes TARGET: xcb-window FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing overlapping-boxes with xcb-window& target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: overlapping-boxes TARGET: xcb-window& FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing overlapping-boxes with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/overlapping-boxes.xcb-render-0_0.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/overlapping-boxes.xcb-render-0_0.argb32.out.png
DIFFERENCE: output/overlapping-boxes.xcb-render-0_0.argb32.diff.png
TEST: overlapping-boxes TARGET: xcb-render-0_0 FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing overlapping-boxes with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/overlapping-boxes.xcb-render-0_0.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/overlapping-boxes.xcb-render-0_0.rgb24.out.png
DIFFERENCE: output/overlapping-boxes.xcb-render-0_0.rgb24.diff.png
TEST: overlapping-boxes TARGET: xcb-render-0_0 FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing overlapping-boxes with xcb-fallback target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: overlapping-boxes TARGET: xcb-fallback FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
surface-pattern-scale-down-extend-none.log:
Testing surface-pattern-scale-down-extend-none with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/surface-pattern-scale-down-extend-none.xcb.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/surface-pattern-scale-down-extend-none.xcb.argb32.out.png
DIFFERENCE: output/surface-pattern-scale-down-extend-none.xcb.argb32.diff.png
TEST: surface-pattern-scale-down-extend-none TARGET: xcb FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing surface-pattern-scale-down-extend-none with xcb target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/surface-pattern-scale-down-extend-none.xcb.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/surface-pattern-scale-down-extend-none.xcb.rgb24.out.png
DIFFERENCE: output/surface-pattern-scale-down-extend-none.xcb.rgb24.diff.png
TEST: surface-pattern-scale-down-extend-none TARGET: xcb FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing surface-pattern-scale-down-extend-none with xcb-window target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: surface-pattern-scale-down-extend-none TARGET: xcb-window FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing surface-pattern-scale-down-extend-none with xcb-window& target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: surface-pattern-scale-down-extend-none TARGET: xcb-window& FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing surface-pattern-scale-down-extend-none with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/surface-pattern-scale-down-extend-none.xcb-render-0_0.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/surface-pattern-scale-down-extend-none.xcb-render-0_0.argb32.out.png
DIFFERENCE: output/surface-pattern-scale-down-extend-none.xcb-render-0_0.argb32.diff.png
TEST: surface-pattern-scale-down-extend-none TARGET: xcb-render-0_0 FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing surface-pattern-scale-down-extend-none with xcb-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/surface-pattern-scale-down-extend-none.xcb-render-0_0.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xcb.xvfb.2/surface-pattern-scale-down-extend-none.xcb-render-0_0.rgb24.out.png
DIFFERENCE: output/surface-pattern-scale-down-extend-none.xcb-render-0_0.rgb24.diff.png
TEST: surface-pattern-scale-down-extend-none TARGET: xcb-render-0_0 FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing surface-pattern-scale-down-extend-none with xcb-fallback target (dev offset 0 scale: 1)
Error: Created an error surface: invalid value for an input cairo_format_t
TEST: surface-pattern-scale-down-extend-none TARGET: xcb-fallback FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Examples from the doing the same thing with the xlib target:
record1414x-fill-alpha.log:
Testing record1414x-fill-alpha with xlib target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/record1414x-fill-alpha.xlib.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/record1414x-fill-alpha.xlib.argb32.out.png
DIFFERENCE: output/record1414x-fill-alpha.xlib.argb32.diff.png
TEST: record1414x-fill-alpha TARGET: xlib FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing record1414x-fill-alpha with xlib target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/record1414x-fill-alpha.xlib.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/record1414x-fill-alpha.xlib.rgb24.out.png
DIFFERENCE: output/record1414x-fill-alpha.xlib.rgb24.diff.png
TEST: record1414x-fill-alpha TARGET: xlib FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing record1414x-fill-alpha with xlib-window target (dev offset 0 scale: 1)
Error: Created surface has content 0 (expected 4096)
TEST: record1414x-fill-alpha TARGET: xlib-window FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing record1414x-fill-alpha with xlib-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/record1414x-fill-alpha.xlib-render-0_0.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/record1414x-fill-alpha.xlib-render-0_0.rgb24.out.png
DIFFERENCE: output/record1414x-fill-alpha.xlib-render-0_0.rgb24.diff.png
TEST: record1414x-fill-alpha TARGET: xlib-render-0_0 FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing record1414x-fill-alpha with xlib-fallback target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/record1414x-fill-alpha.xlib-fallback.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/record1414x-fill-alpha.xlib-fallback.rgb24.out.png
DIFFERENCE: output/record1414x-fill-alpha.xlib-fallback.rgb24.diff.png
TEST: record1414x-fill-alpha TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
recordflip-paint-alpha.log:
Testing recordflip-paint-alpha with xlib target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/recordflip-paint-alpha.xlib.argb32.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/recordflip-paint-alpha.xlib.argb32.out.png
DIFFERENCE: output/recordflip-paint-alpha.xlib.argb32.diff.png
TEST: recordflip-paint-alpha TARGET: xlib FORMAT: argb32 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing recordflip-paint-alpha with xlib target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/recordflip-paint-alpha.xlib.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/recordflip-paint-alpha.xlib.rgb24.out.png
DIFFERENCE: output/recordflip-paint-alpha.xlib.rgb24.diff.png
TEST: recordflip-paint-alpha TARGET: xlib FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing recordflip-paint-alpha with xlib-window target (dev offset 0 scale: 1)
Error: Created surface has content 0 (expected 4096)
TEST: recordflip-paint-alpha TARGET: xlib-window FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: FAIL
Testing recordflip-paint-alpha with xlib-render-0_0 target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/recordflip-paint-alpha.xlib-render-0_0.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/recordflip-paint-alpha.xlib-render-0_0.rgb24.out.png
DIFFERENCE: output/recordflip-paint-alpha.xlib-render-0_0.rgb24.diff.png
TEST: recordflip-paint-alpha TARGET: xlib-render-0_0 FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
Testing recordflip-paint-alpha with xlib-fallback target (dev offset 0 scale: 1)
PNG file exactly matches reference image.
OUTPUT: output/recordflip-paint-alpha.xlib-fallback.rgb24.out.png
REFERENCE: /home/darxus/source/cairo-ref.xlib.xvfb.2/recordflip-paint-alpha.xlib-fallback.rgb24.out.png
DIFFERENCE: output/recordflip-paint-alpha.xlib-fallback.rgb24.diff.png
TEST: recordflip-paint-alpha TARGET: xlib-fallback FORMAT: rgb24 OFFSET: 0 SCALE: 1 SIMILAR: 0 RESULT: PASS
More information about the cairo
mailing list