Commit graph

15 commits

Author SHA1 Message Date
Chris Wilson
b9287e6669 [test] Cache last output and compare next time.
Compare the current output against a previous run to determine if there
has been any change since last time, and only run through imagediff if
there has been. For the vector surfaces, we can check the vector output
first and potentially skip the rasterisation. On my machine this reduces
the time for a second run from 6 minutes to 2m30s. As most of the time,
most test output will remain unchanged, so this seems to be a big win. On
unix systems, hard linking is used to reduce the amount of storage space
required - others will see about a three-fold increase in the amount of
disk used.  The directory continues to be a stress test for file selectors.

In order to reduce the changes between runs, the current time is no longer
written to the PNG files (justified by that it only exists as a debugging
aid) and the boilerplate tweaks the PS surface so that the creation date
is fixed. To fully realise the benefits here, we need to strip the
creation time from all the reference images...

The biggest problem with using the caches is that different runs of the
test suite can go through different code paths, introducing potential
Heisenbergs. If you suspect that caching is interfering with the test
results, use 'make -C test clean-caches check'.
2008-08-20 23:56:56 +01:00
Behdad Esfahbod
142ba30604 [test/Makefile.am] Add 'make run' target
It runs tests under a tool specified tool.  For example:

	make run TOOL=gdb TESTS=user-font TARGETS=pdf
2008-05-15 19:27:17 -04:00
Carl Worth
ee3981fb92 Add new text-transform test
Previously, the test suite wasn't supplying any coverage of transformed
text rendering.
2008-03-24 16:26:28 -07:00
Carl Worth
dcab5019d5 Add poppler-specific reference image for radial-gradient
This is justified by the previously mentioned bug on poppler
gradients. Note that this test only passes with a patch
to fix a bug in poppler (not yet upstream). Here it is:

	PATCH: Keep 'cairo_shape' and 'cairo' consistent
	https://bugs.freedesktop.org/show_bug.cgi?id=14593
2008-02-20 17:35:48 -08:00
Carl Worth
8d2d413014 Expand the documentation of cairo/test/README
Add notes on CAIRO_REF_DIR and the version requirements of
poppler and ghostscript necessary for getting no failures.
2008-02-20 05:11:53 -08:00
Carl Worth
64b7489a50 Add poppler-specific reference image for push-group
This is justified by the following new bug report:

	Incorrect clipping of group object (regression?)
	https://bugs.freedesktop.org/show_bug.cgi?id=14580
2008-02-20 04:04:05 -08:00
Carl Worth
7aaa3e67c5 Add poppler-specific reference images for tests needing EXTEND_PAD
This is justified by the following new bug report:

	Poppler should paint images with CAIRO_EXTEND_PAD
	https://bugs.freedesktop.org/show_bug.cgi?id=14578

The four affected tests are:

	paint-source-alpha
	paint-with-alpha
	rotate-image-surface-paint
	scale-source-surface-paint
2008-02-20 04:04:05 -08:00
Carl Worth
fdd046edcc Add poppler-specific reference image for text-pattern
This is justified with the following new bug report:

	Poppler renders patterned text as black
	https://bugs.freedesktop.org/show_bug.cgi?id=14577
2008-02-20 04:04:04 -08:00
Carl Worth
43302f0408 Re-enable pdf tests with gradients and add poppler-based reference images
This freezes the current (buggy) poppler result in the test suite
so that we will notice any future regressions.
2008-02-20 04:04:04 -08:00
Brian Ewins
77e9b05b2b [test] support using a previous build as a reference
Allow using a previous test output directory as a source of
reference images. To make use of this, set the environment
variable 'CAIRO_REF_DIR' to point at an old test directory,
relative to the current test directory.

This is useful for testing backends when reference images haven't
been created yet, or which the current reference image structure
can't accomodate, like multiple font backends.
2007-11-10 01:34:03 +00:00
Nis Martensen
027915717d Typo fixes in README files 2007-08-06 10:38:38 -07:00
Behdad Esfahbod
973d3a3d14 More test suite infrastructure improvements:
- 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.
2006-07-11 22:19:39 -04:00
Behdad Esfahbod
f90182fe2a Update test/README 2006-07-06 13:42:25 -04:00
Carl Worth
211b19b475 Add paragraph on new features. 2004-10-26 16:31:31 +00:00
Carl Worth
f8e632ab1e Add initial regression test suite.
Don't AC_SUBST a dozen different FOO_CFLAGS and FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and CAIRO_LIBS.
Don't list flags that should get picked up via dependency information through Requires.
Add description of move_to_show_surface.
2004-10-26 14:38:43 +00:00