[cairo-commit] 3 commits - boilerplate/cairo-boilerplate.c RELEASING test/README
Carl Worth
cworth at kemper.freedesktop.org
Tue Oct 28 17:20:03 PDT 2008
RELEASING | 5 +++++
boilerplate/cairo-boilerplate.c | 5 +++++
test/README | 17 +++++++++++++++++
3 files changed, 27 insertions(+)
New commits:
commit cec689eab628b59ee1d69e241c5d336760304ea0
Author: Carl Worth <cworth at cworth.org>
Date: Tue Oct 28 17:18:34 2008 -0700
RELEASING: Suggest running 'make distcheck' against Xvfb.
This avoids hitting driver-specific bugs in the X server, and is
better than doing 'DISPLAY= make distcheck' which simply disables
all xlib testing completely.
diff --git a/RELEASING b/RELEASING
index 58f2317..ae70ae6 100644
--- a/RELEASING
+++ b/RELEASING
@@ -20,6 +20,11 @@ Here are the steps to follow to create a new cairo release:
(But the tar file isn't actually ready yet, as we still have
some more steps to follow).
+ Note that it's allowed (and perhaps recommended) to run the
+ "make distcheck" step against an all-software X server such as
+ Xvfb to avoid getting tripped up by any X-server-driver-specific
+ bugs. See test/README for details
+
If you get errors about local PLT entries, you get the list of
cairo entries with the error. For each of these, a call to
slim_hidden_def and slim_hidden_proto is needed in the cairo
commit 0ca6ba18e398db7ed8f8bca5faa93d48aa3a4878
Author: Carl Worth <cworth at cworth.org>
Date: Tue Oct 28 17:15:42 2008 -0700
Add note to test/README on running with Xvfb.
This X server has been tested to run through the test suite with
no unexpected failures, and it avoids hitting any X-driver-specific
bugs.
diff --git a/test/README b/test/README
index 44a1117..57abef2 100644
--- a/test/README
+++ b/test/README
@@ -107,6 +107,23 @@ Here are some of the relevant details:
* To test the ps backend, you will need ghostscript version 8.62.
+ * Testing the xlib backend is problematic since many X server
+ drivers have bugs that are exercised by the test suite. (Or, if
+ not actual bugs, differ slightly in their output in such a way
+ that the test suite will report errors.) This can be quite handy
+ if you want to debug an X server driver, but since most people
+ don't want to do that, another option is to run against a headless
+ X server that uses only software for all rendering. One such X
+ server is Xvfb which can be started like this:
+
+ Xfvb -screen 0 1280x1024x24 -ac -nolisten tcp :2
+
+ after which the test suite can be run against it like so:
+
+ DISPLAY=:2 make test
+
+ We have been using Xvfb for testing cairo releases and ensuring
+ that all tests behave as expected with this X server.
What if I can't make my system match?
-------------------------------------
commit eed67717649c343e42ce102a4d78a245dba48925
Author: Carl Worth <cworth at cworth.org>
Date: Tue Oct 28 17:12:15 2008 -0700
Disable the svg12 target in boilerplate.
This target was added to the boilerplate during 1.8.1. It currently
shows many failures in the test suite. These failures likely fall
into three different classes:
* Tests needing new svg12-specific reference images
* Tests exercising bugs in librsvg
* Tests exercising existing cairo bugs
We haven't gone through the effort to separate these, but even for
the tests that are exercising actual cairo bugs, these are likely
bugs that existed in the cairo 1.8.0 release and not regressions.
Because of that, in this commit I'm conditionally disabling the
testing of the svg12 target. As soon as we increment the cairo
version to 1.9.0 or higher, this target will get re-enabled
automatically and we can begin the work to separate the tests as
described above and also fix the bugs.
diff --git a/boilerplate/cairo-boilerplate.c b/boilerplate/cairo-boilerplate.c
index 34b9133..13b14eb 100644
--- a/boilerplate/cairo-boilerplate.c
+++ b/boilerplate/cairo-boilerplate.c
@@ -525,6 +525,10 @@ static cairo_boilerplate_target_t targets[] =
_cairo_boilerplate_svg_surface_write_to_png,
_cairo_boilerplate_svg_cleanup,
NULL, TRUE },
+/* Disable the svg12 testing for the 1.8.2 release, but in a way that it
+ * will come back on immediately afterward even if we forget to remove
+ * this condition. */
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 0)
{ "svg12", NULL, CAIRO_SURFACE_TYPE_SVG, CAIRO_CONTENT_COLOR_ALPHA, 1,
_cairo_boilerplate_svg12_create_surface,
_cairo_boilerplate_svg_force_fallbacks,
@@ -542,6 +546,7 @@ static cairo_boilerplate_target_t targets[] =
_cairo_boilerplate_svg_cleanup,
NULL, TRUE },
#endif
+#endif
#if CAIRO_HAS_BEOS_SURFACE
/* BeOS sometimes produces a slightly different image. Perhaps this
* is related to the fact that it doesn't use premultiplied alpha...
More information about the cairo-commit
mailing list