[test] Add cairo-test-trace

The basic premise is that we feed the trace to multiple backends in
parallel and compare the output at the end of each context (based on
the premise that contexts demarcate expose events, or their logical
equivalents) with that of the image[1] backend. Each backend is
executed in a separate process, for robustness, with the image data
residing in shared memory and synchronising over a socket.

[1] Should be reference implementation, currently the image backend is
    considered to be the reference for all other backends.
This commit is contained in:
Chris Wilson 2009-06-12 22:19:56 +01:00
parent a41e1275d2
commit 3b6e4018c6
3 changed files with 6339 additions and 1 deletions

View file

@ -95,6 +95,20 @@ if HAVE_PTHREAD
cairo_test_suite_LDADD += -lpthread
endif
cairo_test_trace_SOURCES = \
cairo-test-trace.c
cairo_test_trace_LDADD = \
$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
$(top_builddir)/boilerplate/libcairoboilerplate.la \
$(top_builddir)/src/libcairo.la \
$(CAIRO_LDADD) \
-lrt
cairo_test_trace_DEPENDENCIES = \
$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \
$(top_builddir)/boilerplate/libcairoboilerplate.la \
$(top_builddir)/src/libcairo.la
EXTRA_DIST += dlmalloc.c
BUILT_SOURCES += cairo-test-constructors.c
noinst_SCRIPTS = make-cairo-test-constructors.pl
EXTRA_DIST += $(BUILT_SOURCES) $(noinst_SCRIPTS) COPYING
@ -1153,7 +1167,7 @@ $(top_builddir)/test/pdiff/libpdiff.la:
$(top_builddir)/util/cairo-script/libcairo-script-interpreter.la: $(top_builddir)/src/libcairo.la
cd $(top_builddir)/util/cairo-script && $(MAKE) $(AM_MAKEFLAGS) libcairo-script-interpreter.la
EXTRA_PROGRAMS += imagediff png-flatten
EXTRA_PROGRAMS += imagediff png-flatten cairo-test-trace
imagediff_SOURCES = \
imagediff.c \

1225
test/cairo-test-trace.c Normal file

File diff suppressed because it is too large Load diff

5099
test/dlmalloc.c Normal file

File diff suppressed because it is too large Load diff