| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
We *always* generate this file, and we depend on its existence.
The idea behind HAVE_CONFIG_H was being able to include random files
from different projects, back in a time where "libraries" were literally
just random files instead of actual shared objects.
Since we're not in the '80s any more, and our build system(s) define
HAVE_CONFIG_H *and* generate the config.h header file, we don't need a
conditional guard around its inclusion.
|
|
|
|
|
|
|
|
|
|
|
| |
Though --enable-pdf=yes by default, when --enable-pdf=no, the cairo build
fails due to unavailability of cairo-pdf.h and related cairo pdf's apis.
The current changes fixes this issue by conditionally checking if PDF
surface is enabled or not.
Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Tested-by: Bryce Harrington <bryce@osg.samsung.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes several tests behave more like ps-eps.c, et al by
making them attempt to mkdir "output", and in case of trouble use "."
instead. filenames are now allocated at runtime due to this change, so
ensure the corresponding free()'s are in place as well.
This should facilitate running the test suite with a relative path
outside cairo's source tree, such as when employing the CAIRO_REF_DIR
environment variable.
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
|
|
|
|
|
|
|
|
|
|
| |
These tests use reference images somewhat differently from other tests,
so treat them as special cases and avoid recommending deleting any of
their files.
Add TODO's to each test to rework them to be more consistent with other
tests.
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
|
|
|
|
|
|
|
| |
Despite copying across the font options from the PDF backend, it still
looks like the image surface is override the glyph placement... Odd.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
|
|
|
| |
The thread id is not used anymore (it is always == 0), so it can be
removed.
|
|
|
|
|
| |
Some tests hand-code ARRAY_LENGTH(). It is now provided by
cairo-test.h, so it can be reused.
|
|
|
|
| |
With integer aligned clipping the test output has no seams.
|
|
|
|
| |
cairo_set_fallback_resolution() does not work when testing rgb24 surfaces
|
|
|
|
|
|
| |
make distcheck complains of remanents being left under test/ after a
clean, notably the files used to check the capabilities of a similar
surface and the fallback-resolution output.
|
|
|
|
|
| |
This cleans the code and fixes a boolean logic error where this check
was done manually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of tagging the sources, which is insensitive to changes, track the
known failure modes by recording the current fail as an xfail.png
reference. (We also introduce a new.png to track a fresh error, so that
they are not lost in the noise of the old XFAILs and hopefully do not
cause everyone to fret).
As we have removed the XFAIL tagging we find, surprise surprise, that some
tests are now working -- so review all the reference images (as also some
.ref.png now should be .xfail.png).
Note: I've only checked image,pdf,ps,svg. The test surfaces report some
failures that probably need to addressed in source. I've not correct the
changes for win32 and quartz. Nor fixed up the experimental backends.
|
|
|
|
|
| |
A secondary check that both activates CAIRO_TEST_TARGET and prevents a
NULL-deref with the null test surface.
|
|
|
|
| |
Trivial leak of a few thousand bytes.
|
|
|
|
|
| |
Simplify the test matrix to only include testing the fallback-resolution
of a uniform scale in one or both axes.
|
|
|
|
| |
The test-name was being recreated for every pass, but was never freed.
|
|
|
|
|
|
|
|
|
| |
We frequently use '-' within the test name or format name and so we
encounter confusion as '-' is also used as the field separator. At times
this has caused a new test to break an old test because the new test would
match one of the old test's target specific reference images. So switch
everything over to use '.' between fields (test name, target, format,
subtest, etc.).
|
|
|
|
|
|
|
|
|
| |
Avoid calling libtool to link every single test case, by building just one
binary from all the sources.
This binary is then given the task of choosing tests to run (based on user
selection and individual test requirement), forking each test into its own
process and accumulating the results.
|
| |
|
|
|
|
| |
This fixes #9189 Dashed strokes too long in fallback images
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Use dashes to exercise bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=9189
https://bugs.freedesktop.org/show_bug.cgi?id=17223
Note bug 17223 indicates that this is still relevant for win32 printing
where fallbacks are used if the dash offset is non-zero.
And use a pattern to exercise the (fixed) regression:
https://bugs.launchpad.net/inkscape/+bug/234546
|
|
|
|
|
|
|
|
|
|
|
| |
For this we extend the boilerplate get_image() routines to extract a
single page out of a paginated document and then proceed to manually
check each page of the fallback-resolution test.
(Well that's the theory, in practice SVG doesn't support multiple pages
and so we just generate a new surface for each resolution. But the
infrastructure is in place so that we can automate other tests,
e.g. test/multi-pages.)
|
|
|
|
|
|
| |
A few tests explicitly checked whether the "ps" or "svg" target was
enabled and this broke because of the name change. So fixup, to run
the generic test if either PS or SVG target is enabled as appropriate.
|
|
|
|
|
|
|
| |
Currently fallback-resolution is included in the test suite if we have all
of the vector surfaces available. This commit enables individual support
for the vector surfaces, so that the test can be run even if one or more
of the surfaces are not available.
|
|
|
|
|
| |
77 is the magic exit code used by automake to indicate a skipped test, so
by using it we can get a slightly more informative test log.
|
|
|
|
|
|
| |
Allow individuals tests to check whether a test target is enabled -
useful for those tests that circumvent cairo_test() and perform
feature testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to run under memfault, the framework is first extended to handle
running concurrent tests - i.e. multi-threading. (Not that this is a
requirement for memfault, instead it shares a common goal of storing
per-test data). To that end all the global data is moved into a per-test
context and the targets are adjusted to avoid overlap on shared, global
resources (such as output files and frame buffers). In order to preserve
the simplicity of the standard draw routines, the context is not passed
explicitly as a parameter to the routines, but is instead attached to the
cairo_t via the user_data.
For the masochist, to enable the tests to be run across multiple threads
simply set the environment variable CAIRO_TEST_NUM_THREADS to the desired
number.
In the long run, we can hope the need for memfault (runtime testing of
error paths) will be mitigated by static analysis. A promising candidate
for this task would appear to be http://hal.cs.berkeley.edu/cil/.
|
|
|
|
|
| |
Groups appear to always be rendered with a fallback resolution of
72.0 ppi rather than the desired fallback resolution.
|
|
|
|
| |
in different fallback resolutions.
|
| |
|
|
|
|
| |
Be valgrind clean even for test failures.
|
|
|
|
| |
in favor of cairo_boilerplate_svg_surface_force_fallbacks.
|
|
|
|
| |
in favor of cairo_boilerplate_ps_surface_force_fallbacks.
|
|
|
|
| |
in favor of cairo_boilerplate_pdf_surface_force_fallbacks.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove cairo_test_expect_failure. cairo-test.c now checks
env var CAIRO_XFAIL_TESTS to see if the running test is
expected to fail. The reason for expected failure is
appended to the test description.
- Test description is written out.
- Failed/crashed tests also write a line out to stderr (in red),
so one can now redirect stdout to /dev/null to only see failures.
- cairo_test() has been changed to not take the draw function
anymore, instead, draw function is now part of the test struct.
- "make check" doesn't allow limiting backends to test using env
var anymore. To limit backends to test, one should use the
TARGETS variable on the make command line.
- "make check-valgrind" now writes its log to valgrind-log instead
of valgrind.log, to not interfere with test log file processing.
|
| |
|
| |
|
|
|
|
|
| |
This explains why the SVG result from the fallback-resolution test
doesn't actually show multiple resolutions in effect at the same time.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
cairo_surface_set_fallback_resolution.
This just provides the mechanics for storing the value and removing the old
function calls. The new value is still not used anywhere (though nor where
the old values), so there should be no functional change (other than forcing
any programs calling the old API to be updated).
|
|
|