The output directory should be made before trying to open log files in
it.
Fixes the bug causing cairo-test-suite to log to stderr on the first
run (i.e. when test/output does not exist).
Instead of embedding the pointer in the test structure, consistently
use the cairo_test_list_t structure for test lists.
This cleans up the code as the reverse-list operation can be reused.
Moreover this makes the code clearer, because each test list is now
independent and has no way to know about other test lists.
This patch has been generated by the following Coccinelle semantic patch:
// Remove useless checks for NULL before freeing
//
// free (NULL) is a no-op, so there is no need to avoid it
@@
expression E;
@@
+ free (E);
+ E = NULL;
- if (unlikely (E != NULL)) {
- free(E);
(
- E = NULL;
|
- E = 0;
)
...
- }
@@
expression E;
@@
+ free (E);
- if (unlikely (E != NULL)) {
- free (E);
- }
Keep the option flags in alphabetical order. This makes it easier to
check for collisions or missing handlers.
Avoids an internal error when passing flags -c, -r or -v to
cairo-analyse-trace.
There were no tests for any subpixel order but rgb, so let's write something for
all four possibilities.
This is mostly copy&paste from test/text-antialias.c (and
text-antialias-subpixel-rgb does the same thing as text-antialias-subpixel).
Test for: https://bugs.freedesktop.org/show_bug.cgi?id=40456
Signed-off-by: Uli Schlachter <psychon@znc.in>
This test tries to exercise a double free bug in the clipping code.
My webkit-based browser recently crashed a lot. Here is the reason why.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This currently hits the following assertion:
lt-cairo-test-suite: cairo-surface.c:1381: cairo_surface_mark_dirty_rectangle:
Assertion `! _cairo_surface_has_mime_data (surface)' failed.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41409
Signed-off-by: Uli Schlachter <psychon@znc.in>
This test checks if setting and unsetting mime data works correctly. E.g. this
verifies that we get the same pointer back which we passed in (=no copy made).
This test currently crashes in its last call to cairo_surface_get_mime_data().
Signed-off-by: Uli Schlachter <psychon@znc.in>
Exercise the case of stroking a box with a pen wider than the box
itself, a variation on line-width-overlap suggested by Paulo Zanoni.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Rather than having the reference images individually listed in
test/Makefile.refs the whole directory can be included in the EXTRA_DIST
block.
This removes the need to have the check-ref-missing Makefile target.
The recording surface has no knowledge of the target surface when it
generates the scaled font and informs the client about the kerning and
metrics. This results in an unfortunate slight misalignment when
replaying the glyphs against the ideal case.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Poppler renders the PDF output of this test correctly with cairo 1.10.2 but fails with current git.
Commenting out the cairo_translate makes the PDF output render correctly with current git.
On some platforms, executables have an extension which confuses
automake into building an entirely different binary.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Debate rages as to the correct way to handle this. In some ways the
current output is expected due to the numerical instability in handling
the inner-focus-on-the-outer-circle. However, the result looks less than
desirable so some solution (which may not be inside cairo per-se) is
sought.
Uli Schlachter spotted that I had create reference images with sharp
edges for his tighten-bounds test case, exactly as if I had ignored
unaligned clip boxes...
Turns out I had removed the code to handle them...
The test-traps provides a reference implementation of the
traps-compositor as used by xlib, so we can use it to generate the
reference images as well. (Of course checking that test-traps is itself
correct and only differs in the renderer! ;-)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>