Bug 4245 - 6 out of 56 tests fail during make check
Summary: 6 out of 56 tests fail during make check
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: 0.9.3
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-25 12:52 UTC by Seemant Kulleen
Modified: 2005-08-31 23:03 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
caps-sub-path-xlib-failed (170 bytes, image/png)
2005-08-26 13:38 UTC, Seemant Kulleen
Details
clip-nesting-xlib-out.png (1.14 KB, image/png)
2005-08-26 13:39 UTC, Seemant Kulleen
Details
clip-operator-xlib-out.png (38.37 KB, image/png)
2005-08-26 13:40 UTC, Seemant Kulleen
Details
clip-twice-xlib-out.png (1.24 KB, image/png)
2005-08-26 13:40 UTC, Seemant Kulleen
Details
mask-ctm-image-out.png (125 bytes, image/png)
2005-08-26 13:52 UTC, Seemant Kulleen
Details
mask-surface-ctm-image-out.png (125 bytes, image/png)
2005-08-26 13:53 UTC, Seemant Kulleen
Details
paint-with-alpha-image-out.png (148 bytes, image/png)
2005-08-26 13:54 UTC, Seemant Kulleen
Details
scale-source-surface-paint-image-out.png (141 bytes, image/png)
2005-08-26 13:55 UTC, Seemant Kulleen
Details
source-surface-scale-paint-image-out.png (130 bytes, image/png)
2005-08-26 13:56 UTC, Seemant Kulleen
Details

Description Seemant Kulleen 2005-08-25 12:52:01 UTC
Hi,

I just installed cairo-1.0.0 and some unexpected failures seem to have occurred
during make check:

make[2]: Entering directory `/var/tmp/portage/cairo-1.0.0/work/cairo-1.0.0/test'

a8-mask is expected to fail:
        image backend fails because libpixman only handles (stride %
sizeof(pixman_bits) == 0)
a8-mask-image:  XFAIL
a8-mask-xlib:   UNTESTED
XFAIL: a8-mask

caps-sub-paths-image:   PASS
caps-sub-paths-xlib:    UNTESTED
PASS: caps-sub-paths

clip-nesting-image:     PASS
clip-nesting-xlib:      UNTESTED
PASS: clip-nesting

clip-operator-image:    PASS
clip-operator-xlib:     UNTESTED
PASS: clip-operator

clip-twice-image:       PASS
clip-twice-xlib:        UNTESTED
PASS: clip-twice

composite-integer-translate-source-image:       PASS
composite-integer-translate-source-xlib:        UNTESTED
PASS: composite-integer-translate-source

composite-integer-translate-over-image: PASS
composite-integer-translate-over-xlib:  UNTESTED
PASS: composite-integer-translate-over

composite-integer-translate-over-repeat-image:  PASS
composite-integer-translate-over-repeat-xlib:   UNTESTED
PASS: composite-integer-translate-over-repeat

create-from-png-image:  PASS
create-from-png-xlib:   UNTESTED
PASS: create-from-png

create-from-png-image:  PASS
create-from-png-xlib:   UNTESTED
PASS: create-from-png-stream

dash-offset-negative-image:     PASS
dash-offset-negative-xlib:      UNTESTED
PASS: dash-offset-negative

fill-and-stroke-image:  PASS
fill-and-stroke-xlib:   UNTESTED
PASS: fill-and-stroke

fill-rule-image:        PASS
fill-rule-xlib: UNTESTED
PASS: fill-rule

filter-nearest-offset is expected to fail:
        wrong sampling location for nearest-neighbor filter in libpixman and Render
filter-nearest-offset-image:    XFAIL
filter-nearest-offset-xlib:     UNTESTED
XFAIL: filter-nearest-offset

get-and-set-image:      FAIL
get-and-set-xlib:       UNTESTED
FAIL: get-and-set

gradient-alpha-image:   PASS
gradient-alpha-xlib:    UNTESTED
PASS: gradient-alpha

leaky-polygon-image:    PASS
leaky-polygon-xlib:     UNTESTED
PASS: leaky-polygon

line-width-image:       PASS
line-width-xlib:        UNTESTED
PASS: line-width

linear-gradient-image:  PASS
linear-gradient-xlib:   UNTESTED
PASS: linear-gradient

mask-image:     PASS
mask-xlib:      UNTESTED
PASS: mask

mask-ctm-image: FAIL
mask-ctm-xlib:  UNTESTED
FAIL: mask-ctm

mask-surface-ctm-image: FAIL
mask-surface-ctm-xlib:  UNTESTED
FAIL: mask-surface-ctm

move-to-show-surface-image:     PASS
move-to-show-surface-xlib:      UNTESTED
PASS: move-to-show-surface

nil-surface-image:      PASS
nil-surface-xlib:       UNTESTED
PASS: nil-surface

operator-clear-image:   PASS
operator-clear-xlib:    UNTESTED
PASS: operator-clear

operator-source-image:  PASS
operator-source-xlib:   UNTESTED
PASS: operator-source

paint-image:    PASS
paint-xlib:     UNTESTED
PASS: paint

paint-with-alpha-image: FAIL
paint-with-alpha-xlib:  UNTESTED
FAIL: paint-with-alpha

path-data-image:        PASS
path-data-xlib: UNTESTED
PASS: path-data

pixman-rotate is expected to fail:
        known off-by-one bug when rotating a pixman image
pixman-rotate-image:    XFAIL
pixman-rotate-xlib:     UNTESTED
XFAIL: pixman-rotate

rectangle-rounding-error-image: PASS
rectangle-rounding-error-xlib:  UNTESTED
PASS: rectangle-rounding-error

scale-source-surface-paint-image:       FAIL
scale-source-surface-paint-xlib:        UNTESTED
FAIL: scale-source-surface-paint

select-font-no-show-text-image: PASS
select-font-no-show-text-xlib:  UNTESTED
PASS: select-font-no-show-text

self-copy-image:        PASS
self-copy-xlib: UNTESTED
PASS: self-copy

self-intersecting is expected to fail:
        Self-intersecting strokes are wrong due to incremental trapezoidization.
self-intersecting-image:        XFAIL
self-intersecting-xlib: UNTESTED
XFAIL: self-intersecting

set-source-image:       PASS
set-source-xlib:        UNTESTED
PASS: set-source

show-text-current-point-image:  PASS
show-text-current-point-xlib:   UNTESTED
PASS: show-text-current-point

source-clip-image:      PASS
source-clip-xlib:       UNTESTED
PASS: source-clip

source-surface-scale-paint-image:       FAIL
source-surface-scale-paint-xlib:        UNTESTED
FAIL: source-surface-scale-paint

surface-finish-twice-image:     PASS
surface-finish-twice-xlib:      UNTESTED
PASS: surface-finish-twice

surface-pattern-image:  PASS
surface-pattern-xlib:   UNTESTED
PASS: surface-pattern

text-antialias-gray-image:      PASS
text-antialias-gray-xlib:       UNTESTED
PASS: text-antialias-gray

text-antialias-none-image:      PASS
text-antialias-none-xlib:       UNTESTED
PASS: text-antialias-none

text-antialias-subpixel-image:  PASS
text-antialias-subpixel-xlib:   UNTESTED
PASS: text-antialias-subpixel

text-cache-crash-image: PASS
text-cache-crash-xlib:  UNTESTED
PASS: text-cache-crash

text-pattern-image:     PASS
text-pattern-xlib:      UNTESTED
PASS: text-pattern

text-rotate is expected to fail:
        minor bugs in positioning rotated glyphs
text-rotate-image:      XFAIL
text-rotate-xlib:       UNTESTED
XFAIL: text-rotate

transforms-image:       PASS
transforms-xlib:        UNTESTED
PASS: transforms

translate-show-surface-image:   PASS
translate-show-surface-xlib:    UNTESTED
PASS: translate-show-surface

trap-clip-image:        PASS
trap-clip-xlib: UNTESTED
PASS: trap-clip

unantialiased-shapes-image:     PASS
unantialiased-shapes-xlib:      UNTESTED
PASS: unantialiased-shapes

unbounded-operator-image:       PASS
unbounded-operator-xlib:        UNTESTED
PASS: unbounded-operator
PASS: user-data

rel-path-image: PASS
rel-path-xlib:  UNTESTED
PASS: rel-path

ft-font-create-for-ft-face-image:       PASS
ft-font-create-for-ft-face-xlib:        UNTESTED
PASS: ft-font-create-for-ft-face

PASS: xlib-surface
========================================================================
6 of 56 tests failed
Please report to http://bugs.freedesktop.org/enter_bug.cgi?product=cairo


I'm on Gentoo/amd64, happy to provide you with whatever info you need.
Comment 1 Carl Worth 2005-08-25 14:48:37 UTC
(In reply to comment #0)
> get-and-set-image:      FAIL

That one is quite surprising. Could you step through that in a debugger, or
insert print statements into the test and see where it's failing?

> mask-ctm-image: FAIL
> mask-surface-ctm-image: FAIL
> paint-with-alpha-image: FAIL
> scale-source-surface-paint-image:       FAIL
> source-surface-scale-paint-image:       FAIL

For each of these, it might be useful to see the resulting -image-out.png
images or at least a description of what the failures look like.

> I'm on Gentoo/amd64, happy to provide you with whatever info you need.

I'll try to get access to an amd64 machine for testing.

Thanks for the report.
Comment 2 Seemant Kulleen 2005-08-26 13:30:51 UTC
yep, it's now 26 out 56.  20 more failures!! :(  So in between yesterday and
today, I downgraded from xorg-6.9.0 rc1 back to 6.8.2 and upgraded some gnome
related libs (libsoup and co.).

I'll be attaching all the png files as I can and I'll try to do some debugging
for you.
Comment 3 Seemant Kulleen 2005-08-26 13:38:10 UTC
Created attachment 3048 [details]
caps-sub-path-xlib-failed

caps-sub-path-xlib test failure -- this is the .png
Comment 4 Seemant Kulleen 2005-08-26 13:39:32 UTC
Created attachment 3049 [details]
clip-nesting-xlib-out.png
Comment 5 Seemant Kulleen 2005-08-26 13:40:00 UTC
Created attachment 3050 [details]
clip-operator-xlib-out.png
Comment 6 Seemant Kulleen 2005-08-26 13:40:29 UTC
Created attachment 3051 [details]
clip-twice-xlib-out.png
Comment 7 Seemant Kulleen 2005-08-26 13:42:07 UTC
OK, hang on.  instead of all these png's I'll just update the tarball of the
test/ directory so you can see for yourself.  If it helps, this is the make
check output:

a8-mask is expected to fail:
        image backend fails because libpixman only handles (stride %
sizeof(pixman_bits) == 0)
a8-mask-image:  XFAIL
a8-mask-xlib:   XFAIL
XFAIL: a8-mask

caps-sub-paths-image:   PASS
caps-sub-paths-xlib:    FAIL
FAIL: caps-sub-paths

clip-nesting-image:     PASS
clip-nesting-xlib:      FAIL
FAIL: clip-nesting

clip-operator-image:    PASS
clip-operator-xlib:     FAIL
FAIL: clip-operator

clip-twice-image:       PASS
clip-twice-xlib:        FAIL
FAIL: clip-twice

composite-integer-translate-source-image:       PASS
composite-integer-translate-source-xlib:        PASS
PASS: composite-integer-translate-source

composite-integer-translate-over-image: PASS
composite-integer-translate-over-xlib:  PASS
PASS: composite-integer-translate-over

composite-integer-translate-over-repeat-image:  PASS
composite-integer-translate-over-repeat-xlib:   PASS
PASS: composite-integer-translate-over-repeat

create-from-png-image:  PASS
create-from-png-xlib:   PASS
PASS: create-from-png

create-from-png-image:  PASS
create-from-png-xlib:   PASS
PASS: create-from-png-stream

dash-offset-negative-image:     PASS
dash-offset-negative-xlib:      FAIL
FAIL: dash-offset-negative

fill-and-stroke-image:  PASS
fill-and-stroke-xlib:   FAIL
FAIL: fill-and-stroke

fill-rule-image:        PASS
fill-rule-xlib: FAIL
FAIL: fill-rule

filter-nearest-offset is expected to fail:
        wrong sampling location for nearest-neighbor filter in libpixman and Render
filter-nearest-offset-image:    XFAIL
filter-nearest-offset-xlib:     XFAIL
XFAIL: filter-nearest-offset

get-and-set-image:      FAIL
get-and-set-xlib:       FAIL
FAIL: get-and-set

gradient-alpha-image:   PASS
gradient-alpha-xlib:    PASS
PASS: gradient-alpha

leaky-polygon-image:    PASS
leaky-polygon-xlib:     FAIL
FAIL: leaky-polygon

line-width-image:       PASS
line-width-xlib:        FAIL
FAIL: line-width

linear-gradient-image:  PASS
linear-gradient-xlib:   PASS
PASS: linear-gradient

mask-image:     PASS
mask-xlib:      FAIL
FAIL: mask

mask-ctm-image: FAIL
mask-ctm-xlib:  FAIL
FAIL: mask-ctm

mask-surface-ctm-image: FAIL
mask-surface-ctm-xlib:  FAIL
FAIL: mask-surface-ctm

move-to-show-surface-image:     PASS
move-to-show-surface-xlib:      PASS
PASS: move-to-show-surface

nil-surface-image:      PASS
nil-surface-xlib:       PASS
PASS: nil-surface

operator-clear-image:   PASS
operator-clear-xlib:    PASS
PASS: operator-clear

operator-source-image:  PASS
operator-source-xlib:   FAIL
FAIL: operator-source

paint-image:    PASS
paint-xlib:     PASS
PASS: paint

paint-with-alpha-image: FAIL
paint-with-alpha-xlib:  FAIL
FAIL: paint-with-alpha

path-data-image:        PASS
path-data-xlib: FAIL
FAIL: path-data

pixman-rotate is expected to fail:
        known off-by-one bug when rotating a pixman image
pixman-rotate-image:    XFAIL
pixman-rotate-xlib:     XFAIL
XFAIL: pixman-rotate

rectangle-rounding-error-image: PASS
rectangle-rounding-error-xlib:  PASS
PASS: rectangle-rounding-error

scale-source-surface-paint-image:       FAIL
scale-source-surface-paint-xlib:        FAIL
FAIL: scale-source-surface-paint

select-font-no-show-text-image: PASS
select-font-no-show-text-xlib:  PASS
PASS: select-font-no-show-text

self-copy-image:        PASS
self-copy-xlib: FAIL
FAIL: self-copy

self-intersecting is expected to fail:
        Self-intersecting strokes are wrong due to incremental trapezoidization.
self-intersecting-image:        XFAIL
self-intersecting-xlib: XFAIL
XFAIL: self-intersecting

set-source-image:       PASS
set-source-xlib:        PASS
PASS: set-source

show-text-current-point-image:  PASS
show-text-current-point-xlib:   FAIL
FAIL: show-text-current-point

source-clip-image:      PASS
source-clip-xlib:       PASS
PASS: source-clip

source-surface-scale-paint-image:       FAIL
source-surface-scale-paint-xlib:        FAIL
FAIL: source-surface-scale-paint

surface-finish-twice-image:     PASS
surface-finish-twice-xlib:      PASS
PASS: surface-finish-twice

surface-pattern-image:  PASS
surface-pattern-xlib:   PASS
PASS: surface-pattern

text-antialias-gray-image:      PASS
text-antialias-gray-xlib:       FAIL
FAIL: text-antialias-gray

text-antialias-none-image:      PASS
text-antialias-none-xlib:       PASS
PASS: text-antialias-none

text-antialias-subpixel-image:  PASS
text-antialias-subpixel-xlib:   FAIL
FAIL: text-antialias-subpixel

text-cache-crash-image: PASS
text-cache-crash-xlib:  PASS
PASS: text-cache-crash

text-pattern-image:     PASS
text-pattern-xlib:      PASS
PASS: text-pattern

text-rotate is expected to fail:
        minor bugs in positioning rotated glyphs
text-rotate-image:      XFAIL
text-rotate-xlib:       XFAIL
XFAIL: text-rotate

transforms-image:       PASS
transforms-xlib:        FAIL
FAIL: transforms

translate-show-surface-image:   PASS
translate-show-surface-xlib:    PASS
PASS: translate-show-surface

trap-clip-image:        PASS
trap-clip-xlib: FAIL
FAIL: trap-clip

unantialiased-shapes-image:     PASS
unantialiased-shapes-xlib:      FAIL
FAIL: unantialiased-shapes

unbounded-operator-image:       PASS
unbounded-operator-xlib:        PASS
PASS: unbounded-operator
PASS: user-data

rel-path-image: PASS
rel-path-xlib:  FAIL
FAIL: rel-path

ft-font-create-for-ft-face-image:       PASS
ft-font-create-for-ft-face-xlib:        PASS
PASS: ft-font-create-for-ft-face

PASS: xlib-surface
========================================================================
26 of 56 tests failed
Comment 8 Seemant Kulleen 2005-08-26 13:43:34 UTC
Here it is: http://dev.gentoo.org/~seemant/test.tar.bz2
Comment 9 Seemant Kulleen 2005-08-26 13:51:10 UTC
sorry, it is 6 -- it jumps to 26 if I run the tests in a Xvfb session instead. 
Wrong number there.
Comment 10 Seemant Kulleen 2005-08-26 13:52:42 UTC
Created attachment 3052 [details]
mask-ctm-image-out.png
Comment 11 Seemant Kulleen 2005-08-26 13:53:52 UTC
Created attachment 3053 [details]
mask-surface-ctm-image-out.png
Comment 12 Seemant Kulleen 2005-08-26 13:54:40 UTC
Created attachment 3054 [details]
paint-with-alpha-image-out.png
Comment 13 Seemant Kulleen 2005-08-26 13:55:22 UTC
Created attachment 3055 [details]
scale-source-surface-paint-image-out.png
Comment 14 Seemant Kulleen 2005-08-26 13:56:17 UTC
Created attachment 3056 [details]
source-surface-scale-paint-image-out.png
Comment 15 Seemant Kulleen 2005-08-26 14:02:57 UTC
does this help:

get-and-set-image:      About to: settings_set (cr, &settings[0]);
About to: cairo_save (cr);
About to: settings_set (cr, &settings[1]);
About to:  settings_get (cr, &check);
settings_equal (&settings[1], &check) was true
About to: cairo_restore (cr);
About to: settings_get (cr, &check);
settings_equal (&settings[0], &check) was FALSE
FAIL
get-and-set-xlib:       UNTESTED
FAIL: get-and-set

?
Comment 16 Seemant Kulleen 2005-08-26 14:11:17 UTC
I added some debugging to settings_equal() :

the operators are not equal
the tolerances are not equal
the fill_rules are not equal
the line_widths are not equal
the line_joins are not equal
the miter_limits are not equal
the xx are not equal
the xy are not equal
the x0 are not equal
the yx are not equal
the yy are not equal
the y0 are not equal


none of the things are equal in a and b in that function, as it turns out.
Comment 17 Carl Worth 2005-08-31 13:34:42 UTC
I've got access to an amd64 machine now which helps a lot.

1 down, and 5 to go:

2005-08-31  Carl Worth  <cworth@cworth.org>

        * test/get-and-set.c: Fix test to not try to set a non-invertible
        matrix. (We'd gotten away with this due to round-off error on many
        systems). Fixes one out of six failures in bug #4245.
Comment 18 Carl Worth 2005-09-01 02:33:25 UTC
4 more down and 1 to go.

Quite happily, all 5 bugs I've found so far were merely bugs in the tests
themselves. So, so far we haven't identified any ways in which cairo 1.0.0
itself behaves poorly on amd64.

2005-09-01  Carl Worth  <cworth@cworth.org>

        * test/cairo-test.h: Add includes to get sized-integers types such
        as uint32_t.

        * test/filter-nearest-offset.c: (draw):
        * test/mask-ctm.c: (draw):
        * test/mask-surface-ctm.c: (draw):
        * test/move-to-show-surface.c: (draw):
        * test/paint-with-alpha.c: (draw):
        * test/scale-source-surface-paint.c: (draw):
        * test/set-source.c: (draw):
        * test/source-surface-scale-paint.c: (draw):
        * test/translate-show-surface.c: (draw): Fix declaration of image
        data array to be uint32_t rather than unsigned long. Fixes four
        out of the remaining five failures in bug #4245.
Comment 19 Carl Worth 2005-09-01 02:39:29 UTC
Oh, my mistake.

The commit I just made did fix all 5 tests that failed in the original
bug report. I miscounted since I still had one remaining test failure
on my amd64 machine. But it was not in the original report, (it is
text-antialias-subpixel, and it looks like it's getting hinting when
it's not supposed to---could just be freetype version or font availablity).

Anyway, I think this bug is now fixed.
Comment 20 Seemant Kulleen 2005-09-01 15:24:49 UTC
thanks much, Carl.
Comment 21 Carl Worth 2005-09-01 16:03:04 UTC
You're quite welcome. It's nice to be able to "check the box" for another
platform. And thanks for your help here.


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.