summaryrefslogtreecommitdiff
path: root/test/operator-clear.c
AgeCommit message (Collapse)AuthorFilesLines
2009-07-13[test] Track XFAIL using expected results stored as xfail.pngChris Wilson1-1/+1
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.
2008-10-31[test] Build test suite into single binary.Chris Wilson1-14/+6
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.
2008-10-21[test/operator-clear] Propagate errors.Chris Wilson1-4/+2
Use cairo_get_target() to propagate errors from secondary contexts.
2008-08-13[test] Preparatory work for running under memfault.Chris Wilson1-5/+6
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/.
2007-12-20[test/*] Create new surfaces using the group target.Chris Wilson1-1/+1
cairo_get_target() returns the original surface passed to cairo_create(), and not the current destination as required when testing drawing to the same surface using multiple contexts. For completeness we also use the group target when creating similar surfaces within the tests (to check that similar surfaces of similar surfaces also work).
2007-03-05[test] Remove unused variableBehdad Esfahbod1-2/+0
2006-12-14Optimize gradient computationsDavid Turner1-3/+3
We update the test suite reference images where needed, (pdiff avoided a few, but most still needed updating). We take advantage of the need for new reference images to shrink some of the giant tests to speed them up a bit. This optimization provides a 2x improvement in linear gradient generation performance (numbers from an x86 laptop): image-rgb paint_linear_rgba_source-512 26.13 -> 11.13: 2.35x speedup █▍ image-rgb paint_linear_rgba_source-256 6.47 -> 2.76: 2.34x speedup █▍ image-rgba paint_linear_rgb_over-256 6.51 -> 2.86: 2.28x speedup █▎ image-rgb paint_linear_rgba_over-512 28.62 -> 13.70: 2.09x speedup █▏ image-rgba fill_linear_rgb_over-256 3.24 -> 1.94: 1.66x speedup ▋ image-rgb stroke_linear_rgba_over-256 5.68 -> 4.10: 1.39x speedup ▍
2006-12-01Purge cairo-test of all calls to round()Dan Amelang1-2/+2
Although round() is in the C99 standard, it isn't available in all toolchains on which cairo is compiled (VC++, for example).
2006-11-22test: Use round to pass only integers to cairo_show_glyphs (in 3 more tests)Carl Worth1-2/+2
This is the same fix as in the recent commit (166dffc96aa26b21f87f12af22b11630583cc85b) but for the same idiom that appears in the operator-clear, operator-source, and unbounded-operator tests. This fixes the failures that were introduced by the recent switch to _cairo_lround.
2006-08-13[test] Fix warnings in tests on 64-bit systemsPavel Roskin1-2/+2
Cast argiments from size_t to int. size_t is 64-bit on 64-bit systems, which causes a warning. The actual data should fit 32 bit comfortably.
2006-08-08Eliminate most compiler warnings from the test suiteCarl Worth1-1/+1
2006-07-31Set font options in the test context and make tests not do thatBehdad Esfahbod1-9/+0
This should help with not requiring many backend-specific reference images, and some should be removed now.
2006-07-13Add prototype for draw in each test file and remove it from the header.Behdad Esfahbod1-0/+2
2006-07-11More test suite infrastructure improvements:Behdad Esfahbod1-3/+4
- 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-06-06Remove trailing whitespace from lines with a single brace.Carl Worth1-2/+2
This patch was produced with the following (GNU) sed script: sed -i -r -e '/^[ \t]*[{}][ \t]*/ s/[ \t]+$//' run on all *.[ch] files within cairo.
2006-06-06Remove extraneous whitespace from "blank" lines.Carl Worth1-6/+6
This patch was produced with the following (GNU) sed script: sed -i -r -e 's/^[ \t]+$//' run on all *.[ch] files within cairo.
2005-08-18Implement new equations for CLEAR and SOURCE CLEAR: (mask IN clip) ? 0 : ↵Owen Taylor1-0/+214
dest SOURCE: (mask IN clip) ? src : dest That behave more like what people expect. CLEAR and SOURCE are now bounded. Assert that SOURCE and CLEAR aren't passed to these functions. Assert that SOURCE and CLEAR aren't passed to these functions when there is a mask. Do fixups for SOURCE and CLEAR as well as unbounded operators, since in the absence of a mask, we need SOURCE to work correctly (don't care about CLEAR) _cairo_ft_font_show_glyphs) Consistently use CLEAR/TRANSPARENT (source doesn't matter) rather than SOURCE/TRANSPARENT when clearing rectangles. src/cairo-xlib-surface.c src/cairo-surface.c: Use IN rather than SOURCE as an example of an unbounded operator in docs. Remove CLEAR/SOURCE columns since they are no longer unbounded. test/operator-clear.c test/operator-source Makefile.am: Add targetted tests of CLEAR/SOURCE.