summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2009-09-11[test] Typos in README from previous commitChris Wilson1-1/+1
2009-09-11[test] Add Debian packages for fontsChris Wilson1-1/+3
Mention which .deb provides the required fonts.
2009-09-11[test] Update big-line and remove XFAILChris Wilson9-12/+12
Now that we use polygon clipping, output geometry should no longer exceed the 2^16 limits imposed by pixman. For the image backend, we now use spans for stroking and for the xlib backend we have to double check the range on the output trapezoids. In short, cairo should pass this test.
2009-09-09[test] Disable the antialias testing for the vector surfaces.Chris Wilson5-5/+5
Only the raster bckends obey the font anti-alias options.
2009-09-09[test] Compare a failure against the image outputChris Wilson1-0/+46
If a backend fails in exactly the same way as the image, then we can safely assume that the failure is systematic and not an error in the backend, so change the result to XFAIL.
2009-09-09[test] Typo in ft-show-glyphs-positioningChris Wilson1-1/+1
Note to self: remember to sleep more often.
2009-09-09[test] An oversized twin test case.Chris Wilson5-0/+100
A larger variant of the twin mixed antialiasing test.
2009-09-09[test] Variation of twin that intermixes antialiasingChris Wilson5-0/+100
Check that we are substituting the right glyph depth and changing masks appropriately.
2009-09-09[test] SUBPIXEL_ANTIALIAS varation of twinChris Wilson5-0/+74
Force argb32 glyphs.
2009-09-09[test] Variation of twin with ANTIALIAS_GRAYChris Wilson5-0/+74
Force generation of a8 glyphs.
2009-09-09[test] Add ANTIALIAS_NONE variation of twinChris Wilson5-0/+74
I'm off hunting bugs. By using twin with ANTIALIAS_NONE we can construct a1 glyph images independently of the native font system.
2009-09-09[test] Check for errors during ft-show-glyphs-positioningChris Wilson1-7/+39
Do not blindly assume that we managed to construct a valid scaled-font before attempting to dereference the FT_Face. Consider a machine with no fonts which is substituting twin...
2009-09-08[build] Improve handling of missing test apparatusChris Wilson2-0/+10
Improve detection, reporting and disabling of test backends when we lack the required libraries and utilities.
2009-09-05[test] Reorder dash-infinite-loop to not hit a runaway allocation.M Joonas Pihlaja1-1/+1
This test is annoying enough as it is what with it wedging the test suite and all. There's no reason why it should DOS the running box as well by sitting in a loop allocating like mad.
2009-09-04[test] Add large-source-roi.ref.png to test/Makefile.amM Joonas Pihlaja1-0/+1
Oops.. forgot to add it to the build files too
2009-09-04[test] Add unbounded variants of clip-{fill,stroke}Chris Wilson18-0/+223
Add a couple of tests to exercise a bug that Joonas spotted that I had introduced with the clip-reduction scheme - namely that I had incorrectly removed the clip on unbounded operations.
2009-09-03[test] Fix the order of random points random-intersections-curves*.M Joonas Pihlaja2-14/+20
The calls to uniform_random() to get the curve points were in the function arguments, but argument order evaluation is compiler implementation dependent.
2009-09-03[image] Check for out of bounds image surface sizes in constructors.M Joonas Pihlaja3-4/+4
The image surface code doesn't reliably work on images larger than 32767 in width or height. This patch makes the image surface constructors fail by returning a surface in the CAIRO_STATUS_INVALID_SIZE state when given negative or too large dimensions so that client code gets a prompt and correct error rather than flaky rendering on large images.
2009-09-03[test] Allow tests to XFAIL by putting the cairo_t into an error state.M Joonas Pihlaja1-7/+7
The test runner was extra strict about never letting a test put the cairo_t into an error state, and never would it check for the expectedness status of the failure. This patch moves the check for a test being an XFAIL above the check on the cairo_t's final status.
2009-09-03[test] Add clip-disjointChris Wilson5-0/+93
Soeren found another bug (thanks Soeren!) in the clipping code - as reproduced by this test case.
2009-09-02[boilerplate/test] Use numerical equality not string equalityChris Wilson1-1/+1
test == != -eq
2009-09-02[constructors] Guard against being called without any input files.M Joonas Pihlaja1-1/+6
The make-cairo-(test|boilerplate)-constructors scripts ought never to be called without arguments lest we are left constructorless.
2009-09-02[test] Add clip-imageChris Wilson4-0/+96
Exercise the XCopyArea() paths under clipping - whilst modifying that code I noticed that it was not being exercised by the test suite.
2009-08-31Update ref imagesAdrian Johnson11-0/+0
2009-08-31[test] Use HAVE_FLOCKFILE instead of _POSIX_C_SOURCE.M Joonas Pihlaja1-3/+2
The _POSIX_C_SOURCE 2001.. #define requires C99 mode and clang on Solaris is strict about such things. Use configure tests for flockfile() instead.
2009-08-29[clip] Apply surface offset when combining with clip maskChris Wilson1-0/+0
In order to correctly combine the clip mask with the compositing mask the clip path must be offset so that it is relative to the destination surface.
2009-08-29[test] Add rotated clip.Chris Wilson6-0/+114
Exercise a bug found in not offsetting the clip mask when combining with the composite mask.
2009-08-29Update reference imagesChris Wilson57-2/+12
Refresh the test reference images to match the current output where acceptable.
2009-08-29[test] Add clip-strokeChris Wilson6-0/+125
Soeren was the first to report a clipping regression in the xlib backend with strokes, and provided a test case to exercise the bug. This is an extension of his test to provide coverage of different clipping and stroking methods.
2009-08-29[test] Implicit closeChris Wilson4-0/+56
This is a simple test that broke with the determination of rectilinearity during path construction. I forgot the implicit close on fill and so the ignored the final diagonal edge and failed to draw the triangle.
2009-08-29[test] Update REFERENCE_IMAGESChris Wilson1-3/+2
2009-08-29[script] Introduce cairo_script_context_tChris Wilson1-1/+4
cairo_script_context_t is an encapsulation object for interfacing with the output - multiple surfaces can share the same context, meaning that they write to the same destination file/stream.
2009-08-29[test] Stress the intersection handling by feeding spans/traps random curvesChris Wilson14-0/+175
Another stress test for the fill/stroke and intersection finders.
2009-08-29[tessellator] Special case rectilinear tessellationChris Wilson2-0/+0
For the frequent cases where we know in advance that we are dealing with a rectilinear path, but can not use the simple region code, implement a variant of the Bentley-Ottmann tessellator. The advantages here are that edge comparison is very simple (we only have vertical edges) and there are no intersection, though possible overlaps. The idea is the same, maintain a y-x sorted queue of start/stop events that demarcate traps and sweep through the active edges at each event, looking for completed traps. The motivation for this was noticing a performance regression in box-fill-outline with the self-intersection work: 1.9.2 to HEAD^: 3.66x slowdown HEAD^ to HEAD: 5.38x speedup 1.9.2 to HEAD: 1.57x speedup The cause of which was choosing to use spans instead of the region handling code, as the complex polygon was no longer being tessellated.
2009-08-29Eliminate self-intersecting strokes.Chris Wilson146-37/+235
We refactor the surface fallbacks to convert full strokes and fills to the intermediate polygon representation (as opposed to before where we returned the trapezoidal representation). This allow greater flexibility to choose how then to rasterize the polygon. Where possible we use the local spans rasteriser for its increased performance, but still have the option to use the tessellator instead (for example, with the current Render protocol which does not yet have a polygon image). In order to accommodate this, the spans interface is tweaked to accept whole polygons instead of a path and the tessellator is tweaked for speed. Performance Impact ================== ... Still measuring, expecting some severe regressions. ...
2009-08-29[test] Minor tweak of ft-text-vertical-layoutChris Wilson2-7/+4
Tidily destroy the font immediately after use.
2009-08-26[test] Remove misleading code/comments from a1-image-sampleChris Wilson1-4/+0
2009-08-26[test] Attempt to automatically detect running under gdbChris Wilson1-0/+32
A common mistake is to forget to pass the foreground mode to cairo-test-suite when launching it under the debugger, resulting in the debugger not attaching to the children and missing the error you were trying to capture. Under linux, we can inspect the path to our parent's executable and if that looks like gdb, we assume it is and disable forking of traces.
2009-08-26[test] Exit on first failure '-x'Chris Wilson1-2/+13
Add a command line option to the test suite to cause it to exit after the first failure. The purpose of this is for integration into 'git bisect run', where the failing test is unknown and we are looking for any failure. For example, for use in a regression script to find commits in the midst of as series that need a refresh of a reference image (or fixing!).
2009-08-17[test] Update reference image for the extended-blend-mode test.Søren Sandmann Pedersen1-0/+0
A recent pixman change caused one-bit differences in some pixels.
2009-08-06[boilerplate/test] Convert make-*-constructors to shellChris Wilson3-169/+28
Remove the intermediate C program that was a nuisance whilst cross-compiling and replace it with a simple shell script that is just a combination of cat + sed.
2009-07-31[gl] Refresh clip-operator ref.Chris Wilson2-0/+1
A minor renderering difference, acceptable.
2009-07-31[test] Add clip-fill.Chris Wilson7-0/+83
Test filling through a complex clip.
2009-07-31[test] Add clip-textChris Wilson7-0/+93
Test applying a complex clip to text.
2009-07-29[test] Yet another bug in curve-to as line-to.Chris Wilson5-0/+102
Andrea Canciani (ranma42) found another instance of my broken 'degenerate' curve-to as line-to optimisation. All I can say is when I do something wrong, at least I'm consistent! This test case highlights the bug in the rel-curve-to path.
2009-07-28[test] Wrap yet another call to get_image_surface() inside a timeout.Chris Wilson1-0/+3
I missed this call to get_image_surface() that is now being hit having restored the reference image for dash-infinite-loop.
2009-07-28[test] Add timeouts around finishing and converting surfaces to images.Chris Wilson1-4/+10
In order to catch infinite loops whilst replaying and converting vector surfaces to images (via external renderers) we need to also install alarms around the calls to finish() and get_image().
2009-07-28[test] Test extremely small dash lengths.M Joonas Pihlaja4-0/+85
The stroker code is liable to wedge when passed dash patterns which don't advance the dash offset due to limited precision arithmetic. This test attempts to hit all the places in the stroker where that can happen. Reported on the cairo mailing list by Hans Breuer: http://lists.cairographics.org/archives/cairo/2009-June/017506.html
2009-07-28[test] Add degenerate-curve-toChris Wilson5-0/+106
Andrea Canciani (ranma42) pointed out a second bug in the curve-to as line-to optimisation, that is a curve starting and finishing on the same point is not necessarily degenerate. This test case exercises 5 different curves that start and end on the same point.
2009-07-27Mark curve-to-as-line-to as XFAIL for PS backend.Carl Worth1-0/+0
Looks like ghostscript has a similar buggy optimization like we just fixed in cairo. I'm just waiting on a new bugzilla account from bugs.ghostscript.com after which I plan to report the bug there.