cairo/test
Uli Schlachter 04656d7450 Merge branch 'tests-misc-fixes' into 'master'
Tests: Misc enhancements

See merge request cairo/cairo!634
2025-07-17 18:38:49 +00:00
..
pdiff Remove autotools build 2023-01-08 22:27:47 +10:30
reference Update Quartz reference images 2025-07-16 11:52:45 +02:00
svg svg: test foreground colors 2023-01-27 20:22:18 +10:30
.gitignore gitignore: Ignore .trs (test results) 2015-07-31 17:56:54 -07:00
.valgrind-suppressions [valgrind] More suppressions for XrmGetStringDatabase(). 2008-08-07 08:29:14 +01:00
6x13.pcf New bitmap-font test with bundled 6x13 font. 2006-06-20 17:48:06 -07:00
a1-bug.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
a1-clip.c test: Test a1 clipping semantics 2011-07-13 12:35:51 +01:00
a1-fill.c test: Add a1-fill 2011-09-16 16:25:45 +01:00
a1-image-sample.c [test] Remove misleading code/comments from a1-image-sample 2009-08-26 23:51:42 +01:00
a1-mask-sample.c test: Add a1-mask-sample 2010-03-06 18:12:36 +00:00
a1-mask.c [test] Add missing mark_dirty() calls to test cases. 2009-11-29 13:17:51 +02:00
a1-rasterisation.c test: Add a1-rasterisation 2010-06-17 08:55:19 +01:00
a1-sample.c test: Add a1-sample 2011-08-07 09:02:46 +01:00
a1-traps-sample.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
a8-clear.c test: Add a8-clear 2010-09-29 13:57:04 +01:00
a8-mask.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
aliasing.c test: Cleanup macros 2011-03-17 17:45:57 +01:00
alpha-similar.c Remove XFAIL_TESTS from Makefile.am 2013-10-03 16:58:52 +02:00
any2ppm.c Fix meson build without zlib 2021-05-22 08:16:47 +02:00
api-special-cases.c Drop cairo-gl 2023-01-27 19:21:46 +00:00
arc-direction.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
arc-infinite-loop.c test/arc-infinite-loop: Random return value fun. 2010-12-15 15:32:19 +00:00
arc-looping-dash.c arc-looping-dash: Add a missing cairo_restore () 2011-02-12 21:12:46 +01:00
big-empty-box.c test: Add big-empty-box 2011-08-29 15:58:20 +01:00
big-empty-triangle.c test: Add big-empty-triangle 2011-08-29 15:58:28 +01:00
big-line.c [test] Update big-line and remove XFAIL 2009-09-11 14:19:38 +01:00
big-little-box.c test: Add big-little-box 2011-08-20 13:09:40 +01:00
big-little-triangle.c test: Add big-little-triangle 2011-08-29 15:58:09 +01:00
big-trap.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
bilevel-image.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
bitmap-font.c Fix build on Windows with recent versions of MSVC 2020-07-31 01:21:01 +01:00
buffer-diff.c test: explicitly handle image formats in buffer_diff_core 2021-08-29 11:57:30 -04:00
buffer-diff.h test-suite: add image_diff_is_failure() function 2010-04-28 13:15:09 +02:00
bug-277.c script: Implement device finish 2022-03-08 18:11:23 +01:00
bug-361.c Add a test for #361 2021-04-11 23:59:47 +02:00
bug-431.c Fix leak in test/bug-431.c 2023-09-17 12:26:19 +02:00
bug-448.c Fix copying tags in a recording surface 2020-12-26 19:11:31 +01:00
bug-535.c Fix bug #535 in cairo-script 2022-02-16 17:53:49 +01:00
bug-40410.c test: Mark some more raster-only tests 2011-09-15 15:29:15 +01:00
bug-51910.c test: Add example from bug-51910 2012-07-09 21:57:03 +01:00
bug-75705.c add a test to exercise tor22 spans allocation code path 2019-05-10 15:02:54 +00:00
bug-84115.c test: Exercise stroking bugs with xlib/trapezoids 2014-09-24 12:35:47 +01:00
bug-bo-collins.c test: Exercise rectangular bo bug 2012-05-23 11:50:34 +01:00
bug-bo-rectangular.c test: Add bug-bo-rectangular 2010-02-23 08:54:39 +00:00
bug-bo-ricotz.c test: Add bug-bo-ricotz 2011-09-16 13:48:09 +01:00
bug-extents.c test: Add bug-extents 2010-12-14 22:18:27 +01:00
bug-image-compositor.c Minor cleanups 2020-12-15 17:14:18 +01:00
bug-seams.c test: Add comments explaining the bug in bug-seams. 2010-07-12 11:03:15 +03:00
bug-source-cu.c test: Add test case for tracking source operator extents 2012-03-29 00:51:46 +01:00
bug-spline.c test: Use ARRAY_LENGTH macro 2014-11-20 12:22:06 -08:00
cairo-logo-font.ttx SVG font test using cairo logo 2022-12-28 13:22:00 +10:30
cairo-svg-test-color.ttx svg: test foreground colors 2023-01-27 20:22:18 +10:30
cairo-svg-test-doc.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-fill.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-gradient.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-path.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-shapes.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-stroke.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-svg-test-transform.ttx ft-svg-render test 2022-12-28 13:22:00 +10:30
cairo-test-private.h tests: Add device scale test to "full" testrun similar to offsets 2013-09-05 16:08:20 +01:00
cairo-test-runner.c Update CI to Fedora 38 2023-06-05 22:04:33 +09:30
cairo-test-trace.c Hurd has no MAP_NORESERVE so don't use it there 2023-07-02 10:19:06 -04:00
cairo-test.c Make cairo_tag_begin/end work correctly in groups 2023-04-18 18:27:12 +09:30
cairo-test.h Make cairo_tag_begin/end work correctly in groups 2023-04-18 18:27:12 +09:30
caps-joins-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
caps-joins-curve.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
caps-joins.c test: Extend testing of joins for fine lines 2013-06-04 11:52:30 +01:00
caps-sub-paths.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
caps-tails-curve.c test: Use ARRAY_LENGTH macro 2014-11-20 12:22:06 -08:00
caps.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
ccitt.g3 Add CCITT_FAX mime type for PDF and PS surfaces 2017-10-22 08:42:36 +10:30
check-pdf-structure.sh Make cairo_tag_begin/end work correctly in groups 2023-04-18 18:27:12 +09:30
check-refs.sh Run check-refs.sh in CI 2022-12-31 16:05:27 +01:00
checkerboard.c test: Add checkerboard 2011-08-20 13:09:40 +01:00
clear-source.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
clear.c [test] Add a simplified CLEAR test. 2009-07-17 14:27:19 +01:00
clip-all.c test: make test font family a define 2010-06-12 16:30:56 +02:00
clip-complex-bug61592.c test: Correct bug number in clip-complex-bug61592 2015-04-16 11:28:50 +02:00
clip-complex-shape.c tests: Add clip-complex-shape 2011-07-15 11:05:19 +01:00
clip-contexts.c test/clip-contexts: Free secondary context 2010-05-06 13:50:27 +01:00
clip-device-offset.c test: Fix clip-device-offset 2011-02-13 17:34:04 +01:00
clip-disjoint-hatching.c test,perf: Another hatching! 2011-07-19 00:32:45 +01:00
clip-disjoint-quad.c test: Add clip-disjoint-quad 2012-09-27 09:58:50 +01:00
clip-disjoint.c test: Use ARRAY_LENGTH() macro 2011-03-17 17:45:57 +01:00
clip-double-free.c test: Add clip-double-free 2011-10-09 09:33:37 +02:00
clip-draw-unbounded.c test: Use ARRAY_LENGTH() macro 2011-03-17 17:45:57 +01:00
clip-empty-group.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
clip-empty-save.c test: make test font family a define 2010-06-12 16:30:56 +02:00
clip-empty.c test: make test font family a define 2010-06-12 16:30:56 +02:00
clip-fill-no-op.c Update my copyright notices to preferred version 2010-06-08 22:23:12 +02:00
clip-fill-rule-pixel-aligned.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
clip-fill-rule.c test: Mark some more raster-only tests 2011-09-15 15:29:15 +01:00
clip-fill.c [test] Add clip-fill. 2009-07-31 17:52:29 +01:00
clip-group-shapes.c test: Cleanup macros 2011-03-17 17:45:57 +01:00
clip-image.c test/clip-image: Free image after use. 2010-03-23 08:16:57 +00:00
clip-intersect.c test: Add clip-intersect 2011-07-24 13:05:24 +01:00
clip-mixed-antialias.c test: Add clip-mixed-antialias 2011-08-26 10:41:59 +01:00
clip-nesting.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
clip-operator.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
clip-polygons.c test: Add clip-polygons 2011-10-12 15:10:34 +01:00
clip-push-group.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
clip-rectilinear.c test: Add clip-rectilinear 2011-09-30 16:31:06 +01:00
clip-shape.c test: Add clip-shape 2010-04-25 09:45:41 +01:00
clip-stroke-no-op.c Update my copyright notices to preferred version 2010-06-08 22:23:12 +02:00
clip-stroke.c [test] Add clip-stroke 2009-08-29 17:07:39 +01:00
clip-text.c [test] Add clip-text 2009-07-31 17:32:09 +01:00
clip-twice-rectangle.c test: Add clip-twice-rectangle 2010-02-12 12:24:01 +00:00
clip-twice.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
clip-unbounded.c Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
clip-zero.c test: Always use DejaVu Sans as default font 2015-07-27 12:45:59 +02:00
clipped-group.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
clipped-surface.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
clipped-trapezoids-ref.png Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
clipped-trapezoids.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
close-path-current-point.c [test] Verify current point position after subpath closure 2009-06-17 16:39:00 +01:00
close-path.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
compare-results test: Add script to display the difference between two result sets 2015-07-31 19:00:48 -07:00
completion.bash Bash completion for cairo-test-suite 2022-12-28 16:16:18 +10:30
composite-integer-translate-over-repeat.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
composite-integer-translate-over.c On MacOSX, the sed utility errors out when parsing non-UTF8 2015-03-10 12:15:40 -07:00
composite-integer-translate-source.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
copy-disjoint.c test: Exercise copy/filling unsorted rectangles 2011-12-06 19:02:45 +00:00
copy-path.c Misc. typos 2019-01-31 17:37:15 -08:00
COPYING test: Add romedalen images copyright information 2010-11-26 10:01:38 +00:00
coverage.c Speed up coverage-column-triangles test 2022-12-30 16:36:22 +01:00
create-for-stream.c Fix build on windows 2021-07-23 17:32:39 +02:00
create-from-broken-png-stream.c _cairo_surface_create_in_error(): Add PNG_ERROR support 2023-10-31 14:54:06 +01:00
create-from-png-16bit.c Add test for loading 16 bit PNG images 2023-01-11 06:39:23 -05:00
create-from-png-stream.c create-from-png*: Test mark_dirty with mime data 2011-10-09 09:21:13 +02:00
create-from-png.c test: Add special cases for create-from-png and fallback-resolution 2013-07-04 09:27:56 +01:00
create-regions.c Add a test that demonstrates a recording surface bug when re-used on different surfaces 2023-01-15 19:29:28 +10:30
culled-glyphs.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
curve-to-as-line-to.c Add new test: curve-to-as-line-to 2009-07-27 15:24:55 -07:00
dash-caps-joins.c test: Use ARRAY_LENGTH() macro 2011-03-17 17:45:57 +01:00
dash-curve.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
dash-infinite-loop.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
dash-no-dash.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
dash-offset-negative.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
dash-offset.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
dash-scale.c test: Use ARRAY_LENGTH() macro 2011-03-17 17:45:57 +01:00
dash-state.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
dash-zero-length.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
degenerate-arc.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
degenerate-arcs.c test: Add degenerate-arcs 2010-01-15 12:25:53 +00:00
degenerate-curve-to.c [test] Add degenerate-curve-to 2009-07-28 08:37:03 +01:00
degenerate-dash.c Misc. typos 2019-01-31 17:37:15 -08:00
degenerate-linear-gradient.c test: add degenerate gradient and single stop tests 2010-06-08 16:37:01 +02:00
degenerate-path.c On MacOSX, the sed utility errors out when parsing non-UTF8 2015-03-10 12:15:40 -07:00
degenerate-pen.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
degenerate-radial-gradient.c test: add degenerate gradient and single stop tests 2010-06-08 16:37:01 +02:00
degenerate-rel-curve-to.c [test] Yet another bug in curve-to as line-to. 2009-07-29 16:17:11 +01:00
degenerate-solid-dash.c test: Fix array lengths for degenerate-solid-dash 2012-04-29 14:23:11 +01:00
device-offset-fractional.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
device-offset-positive.c [test] Fix surface leak from device-offset-positive. 2008-11-29 11:20:35 +00:00
device-offset-scale.c Remove XFAIL_TESTS from Makefile.am 2013-10-03 16:58:52 +02:00
device-offset.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
dithergradient.c tests: Add more dithering tests 2023-09-23 12:15:27 +01:00
drunkard-tails.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
error-setters.c Drop cairo-gl 2023-01-27 19:21:46 +00:00
extend-pad-border.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
extend-pad-similar.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
extend-pad.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
extend-reflect-similar.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
extend-reflect.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
extend-repeat-similar.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
extend-repeat.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
extended-blend.c test/extended-blend.c: Remove obsolete comments about buggy librsvg 2018-09-05 17:00:44 -07:00
fallback-resolution.c Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
fallback.c test: add push/pop group to fallback test 2012-01-15 21:18:43 +10:30
fill-alpha-pattern.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
fill-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
fill-and-stroke-alpha-add.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
fill-and-stroke-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
fill-and-stroke.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
fill-degenerate-sort-order.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
fill-disjoint.c test: Exercise copy/filling unsorted rectangles 2011-12-06 19:02:45 +00:00
fill-empty.c Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
fill-image.c [test] Add fill-image. 2009-01-14 16:51:08 +00:00
fill-missed-stop.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
fill-rule.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
filter-bilinear-extents.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
filter-nearest-offset.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
filter-nearest-transformed.c test: Use ARRAY_LENGTH() macro 2011-03-17 17:45:57 +01:00
finer-grained-fallbacks.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
font-face-get-type.c test: make test font family a define 2010-06-12 16:30:56 +02:00
font-matrix-translation.c test: make test font family a define 2010-06-12 16:30:56 +02:00
font-options.c Add color palette option 2022-06-17 20:42:43 +09:30
font-variations.c Update minimum FreeType to 2.10 2024-05-25 09:02:53 +09:30
ft-color-font.c Test color_mode option in ft-color-font test 2022-06-26 09:54:15 +09:30
ft-font-create-for-ft-face.c [test] Stress the ft from-face cache 2009-05-15 21:31:03 +01:00
ft-show-glyphs-positioning.c test: make test font family a define 2010-06-12 16:30:56 +02:00
ft-show-glyphs-table.c test: make test font family a define 2010-06-12 16:30:56 +02:00
ft-svg-cairo-logo.c SVG font test using cairo logo 2022-12-28 13:22:00 +10:30
ft-svg-color-font.c FT SVG color font test 2022-12-28 13:22:00 +10:30
ft-svg-render-color.c svg: test foreground colors 2023-01-27 20:22:18 +10:30
ft-svg-render.c ft-svg-render test 2022-12-28 13:22:00 +10:30
ft-text-antialias-none.c test: make test font family a define 2010-06-12 16:30:56 +02:00
ft-text-vertical-layout-type1.c [test] Minor tweak of ft-text-vertical-layout 2009-08-29 08:08:26 +01:00
ft-text-vertical-layout-type3.c test: make test font family a define 2010-06-12 16:30:56 +02:00
ft-variable-font.c Copy font-options during creation of a fallback font 2024-01-16 18:13:59 -07:00
generate_refs.sh test: Move all the reference images to their own directory 2011-09-15 14:05:10 +01:00
get-and-set.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
get-clip.c clip: consider gstate target extents in _cairo_gstate_copy_clip_rectangle_list 2010-07-17 11:32:02 +01:00
get-group-target.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
get-path-extents.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
get-xrender-format.c xlib: Replace obsolete disable-xrender with shiny new device debug interface 2012-02-22 10:41:37 +00:00
global.jb2 test: update mime-data to test jbig2 mime types 2013-09-15 21:27:50 +09:30
glyph-cache-pressure.c doc: fix a few typos found by codespell 2012-03-10 10:20:28 +01:00
glyph-path.c Fix cairo_glyph_path() early clipping 2024-07-26 08:18:20 +02:00
gradient-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
gradient-constant-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
gradient-scale-crash.c Apply 1 suggestion(s) to 1 file(s) 2024-05-21 22:43:36 +00:00
gradient-zero-stops-mask.c test: Add gradient-zero-stops-mask 2010-03-31 12:14:25 +02:00
gradient-zero-stops.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
group-clip.c [test] Add group-clip 2009-06-19 19:08:29 +01:00
group-paint.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
group-state.c test: Add group-state 2011-01-22 11:59:38 +01:00
group-unaligned.c [test] Add group-unaligned 2009-06-27 17:53:18 +01:00
hairline.c test/hairline.c: Add copyright header 2021-08-15 10:11:28 +02:00
half-coverage.c test: Disable tests that are too slow to run by default. 2010-06-12 14:06:06 +01:00
halo.c test/halo: Remove copied code. 2010-06-17 10:13:18 +01:00
hatchings.c tests,perf: Add a hatchings clip-test 2011-07-18 10:31:25 +01:00
horizontal-clip.c test: Improve horizontal-clip 2011-07-28 18:11:27 +02:00
huge-linear.c test: Huge means more than MAX_INT 2011-01-02 18:32:46 +01:00
huge-radial.c test: Huge means more than MAX_INT 2011-01-02 18:32:46 +01:00
image-bug-710072.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
image-surface-source.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
image1.jb2 test: update mime-data to test jbig2 mime types 2013-09-15 21:27:50 +09:30
image2.jb2 test: update mime-data to test jbig2 mime types 2013-09-15 21:27:50 +09:30
imagediff.c Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
implicit-close.c [test] Implicit close 2009-08-29 17:07:38 +01:00
in-fill-empty-trapezoid.c Remove XFAIL_TESTS from Makefile.am 2013-10-03 16:58:52 +02:00
in-fill-trapezoid.c Remove clip handling from generic surface layer. 2009-07-23 15:32:14 +01:00
index.html test: Add a new test result html page 2010-10-07 23:09:13 +02:00
infinite-join.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
invalid-matrix.c Remove stray _GNU_SOURCE definitions 2021-05-01 16:58:15 +01:00
inverse-text.c test: make test font family a define 2010-06-12 16:30:56 +02:00
inverted-clip.c test: Exercise clip inversion imperfections 2012-04-29 12:40:10 +01:00
joins-loop.c test: Add an loopy I-bar stroker test 2011-08-06 10:29:08 +01:00
joins-retrace.c test: Add joins-retrace 2011-08-06 11:12:23 +01:00
joins-star.c test: Add join-star, another stroker exercise 2011-08-06 09:30:54 +01:00
joins.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
jp2.jp2 Add image/jp2 to mime-data test 2008-11-24 22:27:03 +10:30
jpeg.jpg [test] Update mime-data jpeg reference data. 2008-11-04 13:41:02 +00:00
large-clip.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
large-font.c test: make test font family a define 2010-06-12 16:30:56 +02:00
large-source-roi.c test: Workaround pixman limits in large-source-roi 2011-01-19 14:41:52 +01:00
large-source.c [test] Add missing mark_dirty() calls to test cases. 2009-11-29 13:17:51 +02:00
large-twin-antialias-mixed.c [test] Disable the antialias testing for the vector surfaces. 2009-09-09 13:59:50 +01:00
leaks.c Fix font options leak in scaled font 2023-09-17 09:32:10 +02:00
leaky-dash.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
leaky-dashed-rectangle.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
leaky-dashed-stroke.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
leaky-polygon.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
line-width-large-overlap.c test: Add line-width-large-overlap 2011-09-29 00:24:18 +01:00
line-width-overlap.c test: Add a couple of variants to line-width-overlap 2011-08-13 16:21:08 +01:00
line-width-scale.c test: Cleanup macros 2011-03-17 17:45:57 +01:00
line-width-tolerance.c tests: Add line-width-tolerance 2011-02-15 20:41:04 +01:00
line-width-zero.c Cairo trivial typos 2018-04-02 17:46:58 -07:00
line-width.c test: a1-line-width is a test of rasterisation, so skip for the vector backends 2012-02-24 14:30:14 +00:00
linear-gradient-extend.c test: fix typo 2010-06-08 16:42:44 +02:00
linear-gradient-large.c test: do not leak resources 2010-09-09 17:24:13 +02:00
linear-gradient-one-stop.c test: exercise ps crash with single stop gradients 2010-06-10 16:07:42 +02:00
linear-gradient-reflect.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
linear-gradient-subset.c test: Add linear-gradient-subset 2010-02-07 19:27:32 +00:00
linear-gradient.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
linear-step-function.c test: Add linear-step-function 2010-02-02 16:31:36 +00:00
linear-uniform.c test: Add linear-uniform 2010-01-15 12:25:53 +00:00
long-dashed-lines.c On MacOSX, the sed utility errors out when parsing non-UTF8 2015-03-10 12:15:40 -07:00
long-lines.c Update long-lines test 2022-05-28 16:14:31 +09:30
make-cairo-test-constructors.py make-constructors.py: Sort tests list 2025-07-15 14:27:15 +02:00
map-to-image.c Misc. typos 2019-01-31 17:37:15 -08:00
mask-alpha.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
mask-ctm.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
mask-glyphs.c Silence some 'unused var' warnings 2011-11-09 13:56:50 +01:00
mask-surface-ctm.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
mask-transformed-image.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
mask-transformed-similar.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
mask.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
mesh-pattern-accuracy.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern-conical.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern-control-points.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern-fold.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern-overlap.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern-transformed.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
mesh-pattern.c test: Space out keywords for clarity 2013-09-13 12:57:42 +02:00
meson.build Fix cairo_glyph_path() early clipping 2024-07-26 08:18:20 +02:00
mime-data.c Cairo trivial typos 2018-04-02 17:46:58 -07:00
mime-surface-api.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
mime-unique-id.c ps: fix max form size 2024-06-27 07:07:22 +09:30
miter-precision.c Update FSF address 2010-04-27 11:13:38 +02:00
move-to-show-surface.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
multi-page.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
negative-stride-image.c test : Maintain consistency in the usage of xcalloc 2014-05-16 11:56:27 -07:00
new-sub-path.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
nil-surface.c test: do not leak resources 2010-09-09 17:24:13 +02:00
operator-alpha-alpha.c test: Fix operator-alpha-alpha 2011-01-19 11:52:40 +01:00
operator-alpha.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
operator-clear.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
operator-source.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
operator-www.c Fix some warnings 2021-08-22 12:07:36 +09:30
operator.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
outline-tolerance.c tests: Add outline-tolerance 2012-08-20 13:34:33 +01:00
over-above-source.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
over-around-source.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
over-below-source.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
over-between-source.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
overflow.c Fix typos in doxygen and source comments 2022-03-28 16:43:03 -04:00
overlapping-boxes.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
overlapping-dash-caps.c test: Add a second ring to overlapping-dash-caps 2011-08-02 15:38:49 +01:00
overlapping-glyphs.c test: make test font family a define 2010-06-12 16:30:56 +02:00
paint-clip-fill.c tests: Add paint-clip-fill 2011-07-15 11:05:19 +01:00
paint-repeat.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
paint-source-alpha.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
paint-with-alpha-group-clip.c test: Drop unused path variable in two recently added tests 2014-01-31 11:25:48 -08:00
paint-with-alpha.c test: Exercise replaying basic painting paths 2011-07-24 11:50:48 +01:00
paint.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
partial-clip-text.c test: Expand partial-clip-text 2011-07-23 14:42:17 +01:00
partial-coverage.c Fix compiler warnings in test suite 2021-01-04 14:08:38 +01:00
pass-through.c test: Re-enable pass-through 2011-11-12 20:49:08 +01:00
path-append.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
path-currentpoint.c [tests] Add path-currentpoint 2014-01-27 17:32:58 -05:00
path-precision.c test/path-precision.c: Correct initialization, error margin for comparisons 2021-02-04 01:39:15 +01:00
path-stroke-twice.c Use HTTPS URLs for freedesktop.org domains 2018-10-16 10:03:07 -07:00
pattern-get-type.c test: Extend pattern-get-type and pattern-getters for mesh patterns 2011-01-01 13:05:13 +01:00
pattern-getters.c Fix -Wlogical-not-parentheses 2023-02-06 11:39:08 +02:00
pdf-features.c Fix use-after-free in pdf-features testcase. 2021-07-19 12:30:17 +01:00
pdf-isolated-group.c test: add test to check that pdf transparency groups are non-isolated 2012-02-25 16:53:26 +10:30
pdf-mime-data.c test/pdf-mime-data.c: Check for pdfimages 2021-03-08 17:31:37 +01:00
pdf-operators-text.c Zero terminate temp buffers before calling strcat. 2022-11-24 22:41:36 +02:00
pdf-structure.c Fix pdf-structure test build on Solaris 2024-10-13 11:01:59 -07:00
pdf-surface-source.c test: Ensure output dirs exist, falling back to current dir if needed 2013-09-09 21:25:12 +02:00
pdf-tagged-text.c Allow links to specify 'dest' and 'uri' 2024-05-11 19:52:02 +09:30
pdf2png.c test: Free resources in pdf2png 2018-10-17 17:53:12 -07:00
pixman-downscale.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
pixman-rotate.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
png-flatten.c Big change to the test infrastructure and supporting internals. The goal now is to test both a COLOR_ALPHA and a COLOR content for each surface backend, (since the semantics are different and we probably need to support both in each backend. 2006-01-17 16:59:08 +00:00
png.c Add support for RGBA128F and RGB96F formats. 2019-01-07 19:10:44 -08:00
png.png [test] Update mime-data to check image/png 2008-11-05 18:13:10 +00:00
ps-eps.c Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
ps-features.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
ps-surface-source.c test: Ensure output dirs exist, falling back to current dir if needed 2013-09-09 21:25:12 +02:00
ps2png.c [test] Add ps2png check program using libspectre 2008-10-09 12:25:08 +01:00
pthread-same-source.c pthread-same-source: Add ref image generation 2014-04-17 11:32:49 +02:00
pthread-show-text.c test: Always use DejaVu Sans as default font 2015-07-27 12:45:59 +02:00
pthread-similar.c Update my copyright notices to preferred version 2010-06-08 22:23:12 +02:00
push-group-color.c [test] Exercise push-group-color. 2009-09-22 15:46:56 +01:00
push-group-path-offset.c test: improve push-group-path-offset to also catch the pop_group() case 2010-06-25 14:08:49 +02:00
push-group.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
quad-color.png test: Add test for image downscaling 2013-09-11 19:32:08 +02:00
quartz-color-font.c [quartz] Add wiggle test for quartz emoji. 2022-04-26 15:52:04 -07:00
quartz-surface-source.c [test] Add quartz-surface-source test 2008-11-26 16:17:45 +00:00
radial-gradient-extend.c test: improve copyright notices 2010-05-16 09:41:12 +02:00
radial-gradient.c test: Cleanup macros 2011-03-17 17:45:57 +01:00
radial-outer-focus.c test: Record the current status of radial-outer-focus as xfail 2011-09-17 12:28:33 +01:00
random-clips.c test/random-clips: Paint clip to highlight the issues 2011-09-26 13:30:35 +01:00
random-intersections-curves-eo.c [test] Fix the order of random points random-intersections-curves*. 2009-09-03 21:38:31 +03:00
random-intersections-curves-nz.c [test] Fix the order of random points random-intersections-curves*. 2009-09-03 21:38:31 +03:00
random-intersections-eo.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
random-intersections-nonzero.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
raster-source.c raster-source: fix when builddir != srcdir 2020-07-18 19:47:27 +01:00
README README fixes 2023-01-15 19:00:22 +10:30
record-extend.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
record-mesh.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
record-neg-extents.c test: add record-neg-extents 2016-06-05 20:43:36 +09:30
record-replay-extend.c test: replay record surface with negative extents for each extend mode 2016-06-05 20:43:36 +09:30
record-transform-paint.c Finish implementing correct paints in transformed recording patterns 2021-04-11 23:59:47 +02:00
record-write-png.c Add a test case for commit d07fb41056 2021-04-01 17:02:48 +02:00
record.c record tests: fix when builddir != srcdir 2020-07-18 19:47:17 +01:00
record2x.c record tests: fix when builddir != srcdir 2020-07-18 19:47:17 +01:00
record90.c record tests: fix when builddir != srcdir 2020-07-18 19:47:17 +01:00
record1414x.c record tests: fix when builddir != srcdir 2020-07-18 19:47:17 +01:00
recordflip.c record tests: fix when builddir != srcdir 2020-07-18 19:47:17 +01:00
recording-ink-extents.c Add recording-ink-extents test 2016-06-05 20:43:36 +09:30
recording-surface-extend.c test: Exercise extend modes with recording patterns 2011-07-31 08:12:54 +01:00
recording-surface-pattern.c test: Extend recording-surface-pattern to include a SOURCE operator test 2011-07-23 14:42:17 +01:00
rectangle-rounding-error.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
rectilinear-dash-scale.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
rectilinear-dash.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
rectilinear-fill.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
rectilinear-grid.c test: Mark some more raster-only tests 2011-09-15 15:29:15 +01:00
rectilinear-miter-limit.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
rectilinear-stroke.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
reflected-stroke.c On MacOSX, the sed utility errors out when parsing non-UTF8 2015-03-10 12:15:40 -07:00
rel-path.c [test] Propagate allocation failure. 2009-03-18 09:44:33 +00:00
rgb24-ignore-alpha.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
romedalen.jpg [mime-data] Allow embedding of arbitrary mime-types. 2008-11-03 11:24:12 +00:00
romedalen.png New test case, covering various combinations of pattern types, drawing operations and clipping. Currently fails, for some combinations, coverage-ref.png is just a placeholder. 2005-01-26 13:41:55 +00:00
rotate-image-surface-paint.c test: Extend rotate-image-surface-paint 2011-08-20 14:11:30 +01:00
rotate-stroke-box.c test: Drop unused path variable in two recently added tests 2014-01-31 11:25:48 -08:00
rotated-clip.c [test] Add rotated clip. 2009-08-29 17:10:05 +01:00
round-join-bug-520.c test: Add new round-join-bug-520 tests 2022-12-28 06:52:29 +05:00
rounded-rectangle-fill.c test: Exercise scan converters with large rounded rectangles. 2010-01-22 23:01:51 +00:00
rounded-rectangle-stroke.c test: Exercise scan converters with large rounded rectangles. 2010-01-22 23:01:51 +00:00
run-cairo-test-suite.sh test: Add a convenience script to disable the screensaver when testing 2010-06-11 12:38:17 +01:00
sample.c test: Fix typo in sample_horizontal to use horizontal, not vertical. 2013-06-08 07:52:18 +01:00
scale-down-source-surface-paint.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
scale-offset-image.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
scale-offset-similar.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
scale-source-surface-paint.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
scaled-font-zero-matrix.c test: Fix a wrongly typed return value in scaled-font-zero-matrix. 2010-02-25 14:20:27 +02:00
scarab.jpg [test] Use a different jpeg image for mime-data 2008-11-04 13:03:24 +00:00
select-font-face.c test: make test font family a define 2010-06-12 16:30:56 +02:00
select-font-no-show-text.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
self-copy-overlap.c Remove XFAIL_TESTS from Makefile.am 2013-10-03 16:58:52 +02:00
self-copy.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
self-intersecting.c Eliminate self-intersecting strokes. 2009-08-29 08:08:28 +01:00
set-source.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
shape-general-convex.c test: Add shape-general-concave 2011-08-20 16:14:13 +01:00
shape-sierpinski.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00
shifted-operator.c Fix remaining tests 2021-05-05 00:51:01 +02:00
show-glyphs-advance.c Fix compiler warnings in test suite 2021-01-04 14:08:38 +01:00
show-glyphs-many.c test: Always use DejaVu Sans as default font 2015-07-27 12:45:59 +02:00
show-text-current-point.c test: make test font family a define 2010-06-12 16:30:56 +02:00
simple.c test/simple: Tighten sanity checks in reference image generator 2014-10-02 08:46:44 +01:00
skew-extreme.c Cairo trivial typos 2018-04-02 17:46:58 -07:00
smask-fill.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
smask-image-mask.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
smask-mask.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
smask-paint.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
smask-stroke.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
smask-text.c test: make test font family a define 2010-06-12 16:30:56 +02:00
smask.c test: make test font family a define 2010-06-12 16:30:56 +02:00
smp-glyph.c test: Add a test for characters in the SMP 2017-04-25 18:05:40 +02:00
solid-pattern-cache-stress.c Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
source-clip-scale.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
source-clip.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
source-surface-scale-paint.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
spline-decomposition.c [test] Draw spline bbox 2008-12-29 12:55:05 +00:00
stride-12-image.c test : Maintain consistency in the usage of xcalloc 2014-05-16 11:56:27 -07:00
stroke-clipped.c test: Add stroke-clipped 2012-11-02 14:48:40 +00:00
stroke-ctm-caps.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
stroke-image.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
stroke-open-box.c test: Add stroke-open-box 2011-03-18 10:30:25 +01:00
stroke-pattern.c test: Add stroke-pattern 2011-09-22 22:43:07 +09:30
subsurface-image-repeat.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-modify-child.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-modify-parent.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-outside-target.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-pad.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-reflect.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-repeat.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-scale.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface-similar-repeat.c test: disable subsurface tests with vector backends 2012-04-09 21:27:08 +09:30
subsurface.c Fix compiler warnings in test suite 2021-01-04 14:08:38 +01:00
summarize-test-results.sh test: Add script to summarize the test results from a run 2015-07-31 18:59:34 -07:00
surface-finish-twice.c [test] Handle memfaults during surface-finish-twice 2009-04-16 09:34:02 +01:00
surface-pattern-big-scale-down.c [test] Track XFAIL using expected results stored as xfail.png 2009-07-13 15:19:51 +01:00
surface-pattern-operator.c test: improve copyright notices 2010-05-16 09:41:12 +02:00
surface-pattern-scale-down-extend.c Use HTTPS URLs for cairographics.org domains 2018-10-16 10:03:01 -07:00
surface-pattern-scale-down.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
surface-pattern-scale-up.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
surface-pattern.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
surface-source.c test: Improve memfault behaviour. 2010-05-03 19:21:59 +01:00
svg-clip.c Misc. typos 2019-01-31 17:37:15 -08:00
svg-surface-source.c test: Ensure output dirs exist, falling back to current dir if needed 2013-09-09 21:25:12 +02:00
svg-surface.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
svg2png.c Disable deprecation warnings from librsvg 2021-04-27 16:54:22 +01:00
testsvg Use the current point to offset just the destination, not the source and destination. With this fix, cairo_show_surface should work with the current point at places other than the origin. 2005-04-02 06:00:32 +00:00
testtable.js test: Fix conflation of different device scales in index.html 2014-10-09 10:57:17 +01:00
text-antialias-subpixel.c test: Add text-antialias-subpixel-{,v}{bgr,rgb} 2011-10-13 13:40:20 +02:00
text-antialias.c test: Merge text-antialias-* 2011-06-25 10:32:45 +02:00
text-cache-crash.c Misc. typos 2019-01-31 17:37:15 -08:00
text-glyph-range.c test: make test font family a define 2010-06-12 16:30:56 +02:00
text-pattern.c test: make text-pattern draw with both opaque and translucent patterns 2011-09-22 23:41:35 +09:30
text-rotate.c test: make test font family a define 2010-06-12 16:30:56 +02:00
text-subpixel.c Add a testcase for subpixel positioning 2019-07-18 14:38:47 -07:00
text-transform.c test: make test font family a define 2010-06-12 16:30:56 +02:00
text-unhinted-metrics.c add test text-unhinted-metrics 2016-07-05 20:26:47 +09:30
text-zero-len.c test: make test font family a define 2010-06-12 16:30:56 +02:00
thin-lines.c Add test case for thin lines 2015-10-17 18:39:19 +10:30
tiger.c test: Use ARRAY_LENGTH macro 2014-11-20 12:22:06 -08:00
tiger.inc test: Add the PS tiger 2011-09-14 19:10:22 +01:00
tighten-bounds.c Remove some useless declarations found by scan-build, the LLVM/clang static analyzer 2014-05-06 10:14:53 -07:00
toy-font-face.c Drop the conditional inclusion of config.h 2021-05-01 17:05:29 +01:00
transforms.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
translate-show-surface.c test: Mark surfaces as finished if the data goes out of scope. 2010-04-28 08:39:21 +01:00
trap-clip.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
twin-antialias-gray.c [test] Disable the antialias testing for the vector surfaces. 2009-09-09 13:59:50 +01:00
twin-antialias-mixed.c [test] Disable the antialias testing for the vector surfaces. 2009-09-09 13:59:50 +01:00
twin-antialias-none.c [test] Disable the antialias testing for the vector surfaces. 2009-09-09 13:59:50 +01:00
twin-antialias-subpixel.c [test] Disable the antialias testing for the vector surfaces. 2009-09-09 13:59:50 +01:00
twin.c [test] Check text->path with user-fonts (twin) 2009-05-15 21:31:02 +01:00
unaligned-box.c test: Add unaligned-box 2011-06-01 18:09:48 +01:00
unantialiased-shapes.c [test] Build test suite into single binary. 2008-10-31 12:30:11 +00:00
unbounded-operator.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
unclosed-strokes.c test: Comma separate keywords 2013-09-13 12:57:17 +02:00
update-refs.sh test: Add an update-refs.sh script to update reference images 2014-10-09 18:28:52 -07:00
user-data.c test: Improve memfault behaviour. 2010-05-03 19:21:59 +01:00
user-font-color.c Update user font tests to test foreground colors 2023-01-26 19:49:06 +10:30
user-font-mask.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
user-font-proxy.c Update user font tests to test foreground colors 2023-01-26 19:49:06 +10:30
user-font-rescale.c On MacOSX, the sed utility errors out when parsing non-UTF8 2015-03-10 12:15:40 -07:00
user-font-subpixel.c [user-font] Implement subpixel-positioning 2022-02-13 14:34:24 -06:00
user-font.c Update user font tests to test foreground colors 2023-01-26 19:49:06 +10:30
view-test-results.py view-test-results.py: try up to 10 ports 2022-05-28 16:16:06 +09:30
white-in-noop.c test: Add white-in-noop 2011-01-17 10:59:33 +01:00
world-map.c test: Add world-map from the perf-suite 2011-08-05 09:59:02 +01:00
world-map.h test: Add world-map from the perf-suite 2011-08-05 09:59:02 +01:00
xcb-huge-image-shm.c test: Add a test that maps a huge surface 2011-08-18 16:34:44 +02:00
xcb-huge-subimage.c test: Add xcb-huge-subimage 2012-12-17 18:37:10 +01:00
xcb-snapshot-assert.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
xcb-stress-cache.c test: Fix gcc complaints about old style definitions 2011-02-19 10:25:22 +01:00
xcb-surface-source.c test: Avoid derefencing a NULL xcb connection 2010-03-03 23:57:35 +00:00
xcomposite-projection.c Update my copyright notices to preferred version 2010-06-08 22:23:12 +02:00
xlib-expose-event.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
xlib-surface-source.c test: Improve memfault behaviour. 2010-05-03 19:21:59 +01:00
xlib-surface.c test: fix include order for AIX, bug#89354 2015-03-05 17:02:14 -08:00
zero-alpha.c Fix spellings descibed, indicies, stange 2015-04-04 15:49:18 -07:00
zero-mask.c Introduce a new compositor architecture 2011-09-12 08:29:48 +01:00

How to use cairo's test suite
=============================
Using this test should be as simple as running:

  meson test -C $builddir -v

assuming that the cairo distribution in the directory above has been
configured and built in $builddir. The test suite here will use the
locally compiled library rather than installed version.

The above command runs some source code as well as the rendering
tests. All the rendering tests are in a single meson test named
"cairo". It can be run with:

  meson test -C $builddir -v cairo

The results of the test suite run are summarized in an index.html file
written to $builddir, which, when viewed in a web browser makes it
quite easy to visually see any failed renderings alongside the
corresponding reference image, (and a diff image as well).

As some browsers do not permit Javascript to read from the local
filesystem, the view-test-results.py script in the $builddir can used
to view the results. It starts a http server serving the current
directory before displaying the test results in a browser.

The test suite needs to be run before any code is committed and before
any release. See below for hints and rules governing the use of the suite.

Running specific tests
----------------------
During development it is desirable to only run a single test or groups
of related tests. Individual tests can be run by specifying the tests
names as arguments to the cairo test.

  meson test -v cairo --test-args "record-neg-extents-unbounded record-neg-extents-bounded"

The test suite is built as a single binary, "cairo-test-suite", which
can be run directly instead of via meson. This may be more convenient
when specifying multiple test arguments. The executable needs to be
run in $builddir/test in order to find the image conversion
executables. Simply running the executable will run all tests. eg

  cd $builddir/test
  ./cairo-test-suite

Normally the executable will use the locally compiled library. But if
you have a LD_LIBRARY_PATH defined or built cairo with an -rpath, the
executable may not link with the locally compiled library.

Individual tests can be run be specifying the tests names as arguments
to cairo-test-suite. For example, to run specific tests:

  ./cairo-test-suite record-neg-extents-unbounded record-neg-extents-bounded

Or if you want to run all paint.* related tests you can use:

  ./cairo-test-suite paint

Or if you want to check the current status of known failures:

  ./cairo-test-suite XFAIL

Or to run a subset of tests, use the -k option to run only the tests
that include the given keyword:

  ./cairo-test-suite -k downscale

The -l option lists all tests available. For convenience, the file
"completion.bash" in $builddir can be sourced to provide bash
completion of the test names in cairo-test-suite.

By default, each test that is run will be tested on all backends that
have been built. The CAIRO_TEST_TARGET environment variable can be
used to select specific backends. For example:

    CAIRO_TEST_TARGET=pdf ./cairo-test-suite text-rotate

Each test is run twice on each backend, once for each format. The
CAIRO_TEST_TARGET_FORMAT environment variable selects a single
format. The formats are "rgba" and "rgb". For example to run the
text-rotate test only on the image backend and only for the "rgba"
format:

  CAIRO_TEST_TARGET=image CAIRO_TEST_TARGET_FORMAT=rgba ./cairo-test-suite text-rotate

Running tests under modified environments or tools
--------------------------------------------------
To run tests under in gdb, one can simply run the cairo-suite-suite in
gdb. Usually a specific test will be desired. eg

  CAIRO_TEST_TARGET=image CAIRO_TEST_TARGET_FORMAT=rgba gdb --args ./cairo-test-suite text-rotate

The cairo test suite runs each test in a child process so that crashes
do not stop the test. When running the test suite under tools, the "-f"
option disables forking. eg to run a test under valgrind:

  CAIRO_TEST_TARGET=image CAIRO_TEST_TARGET_FORMAT=rgba valgrind ./cairo-test-suite -f text-rotate

The cairo test suite detects if it is running under gdb and disables
forking. Hence the reason the gdb example above did not use "-f".

Complete list of test options
-----------------------------
cairo-test-suite options:

  ./cairo-test-suite [-afkxsl] [test-names|keywords ...]

  -a    all; run the full set of tests. By default the test suite
          skips similar surface and device offset testing.
  -f    foreground; do not fork
  -k    match tests by keyword
  -l    list only; just list selected test case names without executing
  -s    include slow, long running tests
  -x    exit on first failure

Environment Variables:

CAIRO_TEST_TARGET
  Run the test only the the listed targets. eg
    CAIRO_TEST_TARGET="image"
    CAIRO_TEST_TARGET="pdf,ps3,ps2"

CAIRO_TEST_TARGET_FORMAT
  Run the test only the the listed targets. eg
    CAIRO_TEST_TARGET_FORMAT="rgba"
    CAIRO_TEST_TARGET_FORMAT="rgba,rgb"

CAIRO_TEST_MODE
  May contain a list of one or more of the following options
    "full"            - equivalent to the "-a" option
    "similar"
    "offset"
    "scale"
    "foreground"      - equivalent to the "-f" option
    "exit-on-failure" - equivalent to the "-x" option
  eg
    CAIRO_TEST_MODE="full,foreground"

CAIRO_TESTS
  A list of test to run. This is equivalent to listing the tests as
  arguments to cairo=test-suite. eg
    CAIRO_TESTS="record-neg-extents-unbounded record-neg-extents-bounded"
  The tests may be separated by any of " \t,:;".

srcdir
  The test suite needs to find the "test" directory in the source
  tree. The srcdir environment variable can be used to specify the
  location of this directory. If this environment variable is not set,
  the binary looks for the directory "srcdir" in the current
  directory. The meson build system symlinks "srcdir" in the
  $builddir/test directory to the "test" directory in the source
  tree. If this is not found the binary defaults to the current
  directory.

CAIRO_REF_DIR
  The directory containing the reference images. By default the test
  suite looks for "reference" in $srcdir. For convenience, you can set
  CAIRO_REF_DIR to point at a previous test directory, relative to the
  current test directory, and any previous output will be used by
  preference as reference images.

CAIRO_TEST_TIMEOUT
  The maximum time, in seconds, an indivdual test may run before it is
  stopped. The default is 60 seconds.

Getting the elusive zero failures
---------------------------------
It's generally been very difficult to achieve a test run with zero
failures. The difficulties stem from the various versions of the many
libraries that the test suite depends on, (it depends on a lot more
than cairo itself), as well as fonts and other system-specific
settings. If your system differs significantly from the system on
which the reference images were generated, then you will likely see
the test suite reporting "failures", (even if cairo is working just
fine).

Since the test suite must pass the Continuous Integration test in the
Gitlab instance hosting the cairo repository, the easiest way to get a
new or updated test to pass is to extract the test output from the
cairo gitlab CI to use as reference images.

What if I can't make my system match?
-------------------------------------
For one reason or another, you may be unable to get a clean run of the
test suite even if cairo is working properly, (for example, you might
be on a system without freetype). In this case, it's still useful to
be able to determine if code changes you make to cairo result in any
regressions to the test suite. But it's hard to notice regressions if
there are many failures both before and after your changes.

For this scenario, you can capture the output of a run of the test
suite before your changes, and then use the CAIRO_REF_DIR environment
variable to use that output as the reference images for a run after
your changes. The process looks like this:

  # Before code change there may be failures we don't care about
  cd $builddir/test
  ./cairo-test-suite

  # Let's save those output images
  mkdir /some/directory/
  cp -r output /some/directory/

  # hack, hack, hack

  # Now to see if nothing changed:
  CAIRO_REF_DIR=/some/directory/ ./cairo-test-suite

Best practices for cairo developers
===================================
If we all follow the guidelines below, then both the test suite and
cairo itself will stay much healthier, and we'll all have a lot more
fun hacking on cairo.

Before creating a Merge Request
-------------------------------
After pushing your branch to your cairo fork on gitlab.freedesktop.org,
check that the CI passes. A MR cannot be merged until the CI passes.

It is likely that you will need to download test output images from
the Gitlab CI to use as reference images in order to get CI to pass.

The reference image filenames have the form:

<test name>.*.ref.png for correct images that pass.

<test name>.*.xfail.png for incorrect images due to bugs.

The <test name>.ref.png is the most general image that all backends
and formats for the <test name> test will be required to match.

When comparing test output to the reference images, the test suite
performs a perceptual diff which permits some minor pixel differences
that are not visually discernible. Some targets may have differences
that exceed the threshold of the perceptual diff but still appear the
same as the reference image when eyeballed. In these cases, target
specific reference images can be created that override the general
reference image for the specific target.

Reference images for specific backends can be created using filenames of the form:
  <test name>.<target>.ref.png

eg clip.pdf.ref.png

The target name "ps" can be used for both "ps2" and "ps3" targets.

Reference images for specific formats can be created using filenames of the form:
  <test name>.<target>.<format>.ref.png

eg
  clip.pdf.argb32.ref.png
  clip.pdf.rgb24.ref.png

The recommended practice for creating reference images for a new test is:

1. Create a <test name>.ref.png reference image from <test name>.image.argb32.out.png
output.

2. Push to gitlab and check the CI result.

3. If the image target fails, copy the <test name>.image.argb32.out.png output
from CI and use as the reference image.

4. Once the image target passes in CI, check that the other targets
pass. If any fail, create <test name>.<target>.ref.png reference images if the
output appears correct.

5. If a target output is incorrect, try to determine if the cairo
target output is correct. eg view pdf files in Adobe Reader. If the
cairo target output is correct, it can be assumed the image converson
from target to png is buggy. File a bug against the conversion tool
and create a <test name>.<target>.xfail.png reference image.

In all cases, before creating a reference image from test output, the
image should be viewed to ensure that it is correct.

When a new bug is found
-----------------------
A new test case should be added by imitating the style of an existing
test. This means adding the following files:

	new-bug.c
	reference/new-bug.ref.png
	reference/new-bug.xfail.png

Where new-bug.c is a minimal program to demonstrate the bug, following
the style of existing tests. The new-bug.ref.png image should contain
the desired result of new-bug.c if the bug were fixed while
new-bug.xfail.png contains the current results of the test.

"meson.build" should be edited by adding new-bug.c to test_sources.
And last but not least, don't forget to "git add" the new files.

When a new feature is added
---------------------------
It's important for the regression suite to keep pace with development
of the library. So a new test should be added for each new feature.
The work involved is similar the work described above for new bugs.
The only distinction is that the test is expected to pass so it
should not need a new-bug.xfail.png file.

While working on a test
-----------------------
Before a bugfix or feature is ready, it may be useful to compare
output from different builds. For convenience, you can set
CAIRO_REF_DIR to point at a previous test directory, relative
to the current test directory, and any previous output will be
used by preference as reference images.

When a bug is fixed
-------------------
The fix should be verified by running the test suite which should
result in an "unexpected pass" for the test of interest. Rejoice as
appropriate, then remove the relevant xfail.png file from git.

Before releasing
----------------
All tests should return a result of PASS for all supported (those enabled by
default) backends, meaning all known bugs are fixed, resulting in the happy
message:

	All XX tests passed

Some notes on limitations in poppler
====================================
One of the difficulties of our current test infrastructure is that we
rely on external tools to convert cairo's vector output (PDF,
PostScript, and SVG), into an image that can be used for the image
comparison. This means that any bugs in that conversion tool will
result in false negatives in the test suite.

Here's the rule: If a cairo-pdf test reports a failure, but viewing
the resulting PDF file with acroread suggests that the PDF itself is
correct, then there's likely a bug in poppler. In this case, we can
simply report the poppler bug. Once we've done this, we can capture
poppler's buggy output as a pdf-specific reference image (as
reference/*.xfail.png) so that the test suite will regard the test as
passing, (and we'll ensure there is no regression).

Once the poppler bug gets fixed, the test suite will start reporting a
false negative again, and this will be easy to fix by simply removing
the pdf-specific reference image.