Adrian Johnson
670d942fe3
Change user-font-image test to use a pattern
...
This can be used to expose a bug in _cairo_rectangle_intersect() by
changing:
fixed_scale = 1024 to 1 in cairo-user-font.c
and
cairo_matrix_translate (&matrix, 0, -8) to (&matrix, 0, -9) in
user-font-image.c
This will cause cairo_text_extents (cr, text, &extents) in
user-font-image.c to return a height of 8388683.
2008-10-27 23:04:16 +10:30
Adrian Johnson
cdacf55e1b
Add user-font-image test
...
Draws bitmap glyphs using cairo_mask(). This test exposes a bug in the
calculation of the glyph extents.
2008-10-27 22:07:04 +10:30
Chris Wilson
88935947d1
[test] Add leaky-dashed-stroke
...
A test case for a leak whilst closing a dashed stroke extracted from the
report by Jeff Muizelaar who found the artifact whilst looking at
firefox http://people.mozilla.com/~jmuizelaar/BerlinDistricts-check.svg
2008-10-26 05:30:56 +00:00
Behdad Esfahbod
d692284ab8
[test/user-font] Exercise glyph 0
...
Previously there was a bug in cairo and/or poppler causing glyph 0 of
user fonts to not show up. This is fixed now, so we exercise glyph 0.
2008-10-23 01:45:35 -04:00
Chris Wilson
b2cbbceb4c
[test/meta-surface-pattern] Propagate errors.
...
Use cairo_get_target() to propagate any errors from the secondary context.
2008-10-21 20:01:23 +01:00
Chris Wilson
5a822046cc
[test/xlib-expose-event] Propagate errors.
...
Use cairo_get_target() to propagate errors from secondary contexts.
2008-10-21 11:31:12 +01:00
Chris Wilson
21223cc12c
[test/unbounded-operator] Propagate errors.
...
Use cairo_get_target() to propagate errors from secondary contexts.
2008-10-21 11:31:11 +01:00
Chris Wilson
4c8de6d99d
[test/surface-pattern-scale-up] Propagate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:11 +01:00
Chris Wilson
e8de7d1c36
[test/surface-pattern-scale-down] Propagate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:11 +01:00
Chris Wilson
b5551cfce2
[test/rotate-image-surface-paint] Proapgate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:11 +01:00
Chris Wilson
6d41ffbbed
[test/pixman-rotate] Propagate errors
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:10 +01:00
Chris Wilson
64949b8173
[test/operator-source] Propagate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:06 +01:00
Chris Wilson
971f030b7d
[test/operator-clear] Propagate errors.
...
Use cairo_get_target() to propagate errors from secondary contexts.
2008-10-21 11:31:06 +01:00
Chris Wilson
9b919b0e91
[test/extend-pad] Propagate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:31:06 +01:00
Chris Wilson
69415b4fc6
[test/device-offset-scale] Propagate errors
...
Use cairo_get_target() to propagate errors from the secondary contexts.
2008-10-21 11:31:06 +01:00
Chris Wilson
9ab296123e
[test/device-offset-positive] Propagate errors.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:14:01 +01:00
Chris Wilson
594fa0836f
[test/device-offset] Propagate error.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-21 11:12:11 +01:00
Chris Wilson
86356a9578
[test] Add degenerate-dash to XFAIL.
...
PS (ghostscript) interprets the degenerate end-caps quite differently, and
perhaps slightly more rationally... Add this to XFAIL, until we have a
definitive specification on how we should behave.
2008-10-20 23:04:03 +01:00
Chris Wilson
9529699028
[test/user-font-rescale] Check and propagate errors.
...
We need to check the error status on set_user_data() to be sure that the
data has been set and error otherwise.
2008-10-19 09:36:49 +01:00
Chris Wilson
683de2fea2
[test/user-font[-proxy]] Check for error from set_user_data().
...
Check in case we fail to attach our user_data.
2008-10-18 09:55:15 +01:00
Chris Wilson
1983929900
[test/bitmap] Leak on error path.
...
Free the FcPattern on error.
2008-10-18 09:55:15 +01:00
Chris Wilson
0409be426c
[test/font-matrix-translation] Check for OOM
...
First check that querying the extents did not trigger NO_MEMORY.
2008-10-18 09:55:08 +01:00
Chris Wilson
21360bf674
[test/source-surface-big-scaled-down] Propagate error.
...
Propagate error to source.
2008-10-18 09:55:07 +01:00
Chris Wilson
794160c35b
[test/surface-pattern] Propagate error.
...
Use cairo_get_target() to propagate error from secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
0f48cce8d9
[test/source-clip-scale] Propagate error.
...
Use cairo_get_target() to propagate error from secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
6cdbd132ce
[test/source-clip] Propagate error.
...
Use cairo_get_target() to propagate error from the secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
f86f233b3e
[test/smask] Propagate error.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
4490a6c363
[test/stroke-image] Propagate error
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
6e6d7e52a3
[test/mask] Propagate error from secondary context.
...
Reset the source every time so that the error is propagate from the
secondary context using cairo_get_target().
2008-10-18 09:55:07 +01:00
Chris Wilson
a56d4530d6
[test/smask-text] Propagate error.
...
Use cairo_get_target() to propagate error from the secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
b1e884cd89
[test/smask-stroke] Propagate error.
...
Use cairo_get_target() to propagate the error from the secondary context.
2008-10-18 09:55:07 +01:00
Chris Wilson
546fbc2c0c
[test/smask-paint] Propagate error.
...
Use cairo_get_target() to propagate errors from the secondary context.
2008-10-18 09:55:06 +01:00
Chris Wilson
8bd6913282
[test/smask-mask] Propagate error.
...
Use cairo_get_target() to propagate errors from the secondary contexts.
2008-10-18 09:55:06 +01:00
Chris Wilson
9c0fe6c61e
[test/smask-image-mask] Propagate error.
...
Use cairo_get_target() to propagate any error status from the secondary
context.
2008-10-18 09:55:06 +01:00
Chris Wilson
373d6c76b6
[test/smask-fill] Propagate error status.
...
Use cairo_get_target() to propagate the error from the secondary context.
2008-10-18 09:55:06 +01:00
Chris Wilson
bb05beaab6
[test/show-glyphs-many] Check for NO_MEMORY
...
As we do a manual status check, we need to perform a full check.
2008-10-18 09:55:06 +01:00
Chris Wilson
c0a4ef76e1
[test/composite-integer-translate-over-repeat] Propagate error.
...
Use cairo_get_target() to propagate any errors from the secondary context.
2008-10-18 09:55:06 +01:00
Chris Wilson
4a9e0f0e5b
[test/mask] Propagate error from secondary context.
...
Use cairo_get_target() to infect the primary context with any errors
raised whilst drawing the mask.
2008-10-18 09:55:06 +01:00
Chris Wilson
eaec1caa94
[test/ft-text-*] Check for errors from fontconfig.
...
If a match cannot be found, or if any other error occured, then fontconfig
will return NULL. Check and propagate.
2008-10-18 09:55:06 +01:00
Chris Wilson
336eddfdbb
[test/get-clip] Check the status on the secondary context.
...
As we solely use a secondary context, we must manually report NO_MEMORY
errors whilst running under memfault.
2008-10-18 09:55:06 +01:00
Chris Wilson
d48f934051
[test/clip-operator] Propagate error from secondary context.
...
Use the cairo_get_target() to propagate any errors from the secondary
context.
2008-10-17 22:52:47 +01:00
Chris Wilson
bccfdf7d93
[test] Add support for memfault.
...
Add the core support to cairo-test for running the test-suite under a
malloc fault injector. This commit contains the adjustments to
cairo_test_run() to repeat the test if it detects a failure due to fault
injection and complains if it detects unreported faults or memory leaks.
2008-10-17 22:52:47 +01:00
Chris Wilson
5fcfc7ebc9
[test/README] Document all fonts used.
...
Do a little leg-work to answer a query in a bug report and document the
results.
2008-10-17 10:38:55 +01:00
Adrian Johnson
ff9ee74b37
Revert unintended changes to test/fallback-resolution.c in the previous commit
2008-10-16 17:29:33 +10:30
Adrian Johnson
5911c6966d
Use correct inverse ctm for stroke in meta surface replay
...
This fixes #9189 Dashed strokes too long in fallback images
2008-10-16 17:22:48 +10:30
Chris Wilson
6afcd82118
[test] Add a spline test.
...
Test the decomposition of 5 different types of spline curve. Useful test
for future experiments in improving the decomposition algorithm.
Note: the vector targets all need separate reference images due to their
lack of support for cairo_set_tolerance(). Also GS strokes the Bezier
curve differently using offset curves and opposed to transcribing the
outline of a pen.
2008-10-15 23:27:11 +01:00
Chris Wilson
595414bb78
[test/fallback-resolution] Extend to cover separate ppi x/y.
...
Adrian Johnson proposed a hack that fixed the current test by simply
scaling the dashed stroke by device_transform.xx. Obviously this exposes a
deficiency in the test case. So add an outer loop to iterate over several
common ppi for both x and y and in doing so reveal more ugly artifacts in
the current fallback code.
2008-10-14 14:24:49 +01:00
Chris Wilson
9886cb3353
[pattern] Only perform non-integer optimization for identity matrices.
...
A complication I realised after pushing 3eb4bc3 was handling larger
sampled areas. Extending the test case revealed that the optimization
was broken for anything but the identity transform (after removing the
translation). Correctness first, leaving the "pixel-exact" solution for
interested reader...
2008-10-14 10:27:21 +01:00
Chris Wilson
3eb4bc3757
[pattern] Optimize away fractional translation for NEAREST patterns.
...
As identified in bug 15479,
Unpredictable performance of cairo-xlib with non-integer translations of a
source surface pattern
(https://bugs.freedesktop.org/show_bug.cgi?id=15479 ),
source surfaces with a fractional translation hit slow paths for some
drivers, causing seemingly random performance variations. As a work-around
Owen Taylor proposed that cairo could convert non-integer translations on
NEAREST sources patterns to their integer equivalents.
The messy detail involved here is replicating the rounding mode used by
pixman for the sample offset, but otherwise the conversion is fairly
trivial.
2008-10-13 23:34:51 +01:00
Chris Wilson
1d3453eee5
[pattern] Rescale the linear pattern matrix to avoid overflow.
...
As proof-of-principle, compute a scale factor to avoid overflow when
converting a linear pattern to pixman_fixed_t. Fixes test/huge-pattern,
but the principle should be extended to handle more cases of overflow.
2008-10-12 11:38:42 +01:00