diff options
Diffstat (limited to 'test/Makefile.am')
-rw-r--r-- | test/Makefile.am | 403 |
1 files changed, 0 insertions, 403 deletions
diff --git a/test/Makefile.am b/test/Makefile.am deleted file mode 100644 index be5741acf..000000000 --- a/test/Makefile.am +++ /dev/null @@ -1,403 +0,0 @@ -include $(top_srcdir)/build/Makefile.am.common - -include $(top_srcdir)/test/Makefile.sources - -SUBDIRS=pdiff . - -# Then we have a collection of tests that are only run if certain -# features are compiled into cairo -if HAVE_REAL_PTHREAD -test_sources += $(pthread_test_sources) -endif - -if CAIRO_HAS_FT_FONT -if CAIRO_HAS_FC_FONT -test_sources += $(ft_font_test_sources) -endif -endif - -if CAIRO_HAS_EGL_FUNCTIONS -test_sources += $(egl_surface_test_sources) -endif - -# Need to add quartz-surface-source -if CAIRO_HAS_QUARTZ_SURFACE -test_sources += $(quartz_surface_test_sources) -endif - -if CAIRO_HAS_PDF_SURFACE -test_sources += $(pdf_surface_test_sources) -endif - -if CAIRO_HAS_PS_SURFACE -test_sources += $(ps_surface_test_sources) -endif - -if CAIRO_HAS_SVG_SURFACE -test_sources += $(svg_surface_test_sources) -endif - -if CAIRO_HAS_TEST_SURFACES -test_sources += $(test_fallback16_surface_test_sources) -endif - -if CAIRO_HAS_XCB_SURFACE -test_sources += $(xcb_surface_test_sources) -endif - -if CAIRO_HAS_XLIB_SURFACE -test_sources += $(xlib_surface_test_sources) -endif - -if CAIRO_HAS_XLIB_XRENDER_SURFACE -test_sources += $(xlib_xrender_surface_test_sources) -endif - -if CAIRO_HAS_MULTI_PAGE_SURFACES -test_sources += $(multi_page_surface_test_sources) -endif - -# Include fallback-resolution (once!) if we have any of the vector surfaces -if BUILD_ANY2PPM -if CAIRO_HAS_SVG_SURFACE -test = $(fallback_resolution_test_sources) -endif -if CAIRO_HAS_PDF_SURFACE -test = $(fallback_resolution_test_sources) -endif -if CAIRO_HAS_PS_SURFACE -test = $(fallback_resolution_test_sources) -endif -endif -test_sources += $(test) - -noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build -noinst_SCRIPTS = check-refs.sh - -TESTS += cairo-test-suite$(EXEEXT) - -cairo-test-constructors.c: Makefile $(test_sources) make-cairo-test-constructors.sh - (cd $(srcdir) && sh ./make-cairo-test-constructors.sh $(test_sources)) > $@ - -cairo_test_suite_SOURCES = \ - $(cairo_test_suite_sources) \ - $(cairo_test_suite_headers) \ - $(test_sources) \ - cairo-test-constructors.c -cairo_test_suite_CFLAGS = $(AM_CFLAGS) $(real_pthread_CFLAGS) -cairo_test_suite_LDADD = \ - $(real_pthread_LIBS) \ - $(top_builddir)/test/pdiff/libpdiff.la \ - $(top_builddir)/boilerplate/libcairoboilerplate.la \ - $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) -cairo_test_suite_DEPENDENCIES = \ - $(top_builddir)/test/pdiff/libpdiff.la \ - $(top_builddir)/boilerplate/libcairoboilerplate.la \ - $(top_builddir)/src/libcairo.la -if BUILD_ANY2PPM -cairo_test_suite_DEPENDENCIES += \ - any2ppm$(EXEEXT) -endif - -if HAVE_SHM -EXTRA_PROGRAMS += cairo-test-trace -cairo_test_trace_SOURCES = \ - cairo-test-trace.c \ - buffer-diff.c \ - buffer-diff.h -cairo_test_trace_CFLAGS = $(AM_CFLAGS) $(real_pthread_CFLAGS) -cairo_test_trace_LDADD = \ - $(real_pthread_LIBS) \ - $(top_builddir)/test/pdiff/libpdiff.la \ - $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \ - $(top_builddir)/boilerplate/libcairoboilerplate.la \ - $(top_builddir)/src/libcairo.la \ - $(top_builddir)/util/cairo-missing/libcairo-missing.la \ - $(CAIRO_LDADD) \ - $(SHM_LIBS) -cairo_test_trace_DEPENDENCIES = \ - $(top_builddir)/test/pdiff/libpdiff.la \ - $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \ - $(top_builddir)/boilerplate/libcairoboilerplate.la \ - $(top_builddir)/src/libcairo.la \ - $(top_builddir)/util/cairo-missing/libcairo-missing.la \ - $(NULL) -endif - -BUILT_SOURCES += cairo-test-constructors.c -EXTRA_DIST += $(BUILT_SOURCES) $(noinst_SCRIPTS) COPYING make-cairo-test-constructors.sh run-cairo-test-suite.sh generate_refs.sh tiger.inc -CLEANFILES += $(BUILT_SOURCES) - -EXTRA_DIST += \ -6x13.pcf \ -index.html \ -jp2.jp2 \ -jpeg.jpg \ -png.png \ -romedalen.jpg \ -romedalen.png \ -scarab.jpg \ -surface-source.c \ -testtable.js \ -reference - -# Any test that doesn't generate a log file goes here -NOLOG_TESTS = \ -fallback-resolution \ -font-options \ -multi-page \ -pdf-features \ -png \ -ps-eps \ -ps-features \ -svg-clip \ -svg-surface \ -toy-font-face \ -user-data - -# A target to summarise the failures -check-summary: - @FAILED_TESTS=""; \ - for t in output/*.log; do \ - if grep -e '\<FAIL\>' $$t >/dev/null 2>&1; then \ - FAILED_TESTS="$$FAILED_TESTS $$t"; \ - fi; \ - done; \ - if test -n "$$FAILED_TESTS"; then \ - echo "Failed tests:"; \ - surfaces=""; \ - for t in $$FAILED_TESTS; do \ - name="$${t##output/}"; name="$${name%.log}"; \ - echo -n " $$name: "; \ - grep -e '\<FAIL\>' $$t | sed -e 's/.*TARGET: \([^ ]*\).*/\1/' | sort | uniq | tr '\n' ' '; \ - echo; \ - for s in `grep -e '\<FAIL\>' $$t | sed -e 's/.*TARGET: \([^ ]*\).*/\1/' | sort | uniq`; do \ - ss=`echo $$s | tr '-' '_'`; \ - tt=`echo $$name | tr '-' '_'`; \ - eval $$ss=\""$${!ss} $$tt"\"; \ - echo $$surfaces | grep $$ss >/dev/null || surfaces="$$surfaces $$ss"; \ - done; \ - done; \ - echo -n "Failures per surface - "; \ - first=""; \ - for s in $$surfaces; do \ - ss=`echo $$s | tr '_' '-'`; \ - test -n "$$first" && echo -n ", "; \ - cnt=`echo $${!s} | wc -w`; \ - echo -n "$$ss: $$cnt"; \ - first="false"; \ - done; \ - echo "."; \ - for s in $$surfaces; do \ - ss=`echo $$s | tr '_' '-'`; \ - cnt=`echo $${!s} | wc -w`; \ - echo -n " $$ss [$$cnt]: "; \ - echo $${!s} | tr '_' '-'; \ - done; \ - fi - -AM_CPPFLAGS = \ - -I$(srcdir) \ - -I$(srcdir)/pdiff \ - -I$(top_srcdir)/boilerplate \ - -I$(top_srcdir)/util/cairo-missing \ - -I$(top_srcdir)/util/cairo-script \ - -I$(top_srcdir)/src \ - -I$(top_builddir)/src \ - $(CAIRO_CFLAGS) -AM_LDFLAGS = $(CAIRO_LDFLAGS) - -$(top_builddir)/boilerplate/libcairoboilerplate.la: $(top_builddir)/src/libcairo.la - cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la - -$(top_builddir)/src/libcairo.la: - cd $(top_builddir)/src && $(MAKE) $(AM_MAKEFLAGS) libcairo.la - -$(top_builddir)/test/pdiff/libpdiff.la: - cd $(top_builddir)/test/pdiff && $(MAKE) $(AM_MAKEFLAGS) libpdiff.la - -$(top_builddir)/test/pdiff/perceptualdiff: - cd $(top_builddir)/test/pdiff && $(MAKE) $(AM_MAKEFLAGS) perceptualdiff - -$(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 - -imagediff_SOURCES = \ - imagediff.c \ - buffer-diff.c \ - buffer-diff.h -imagediff_LDADD = \ - $(top_builddir)/test/pdiff/libpdiff.la \ - $(top_builddir)/src/libcairo.la - -png_flatten_SOURCES = png-flatten.c -png_flatten_LDADD = $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) - -if BUILD_ANY2PPM -check_PROGRAMS += any2ppm -any2ppm_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) $(LIBRSVG_CFLAGS) $(LIBSPECTRE_CFLAGS) -# add LDADD, so poppler/librsvg uses "our" cairo -any2ppm_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) -any2ppm_LDADD = \ - $(top_builddir)/util/cairo-script/libcairo-script-interpreter.la \ - $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) \ - $(CAIROBOILERPLATE_LIBS) \ - $(POPPLER_LIBS) \ - $(LIBRSVG_LIBS) \ - $(LIBSPECTRE_LIBS) -endif - -if CAIRO_CAN_TEST_PDF_SURFACE -check_PROGRAMS += pdf2png -pdf2png_CFLAGS = $(AM_CFLAGS) $(POPPLER_CFLAGS) -# add LDADD, so poppler uses "our" cairo -pdf2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) -pdf2png_LDADD = $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) \ - $(POPPLER_LIBS) -endif - -if CAIRO_CAN_TEST_SVG_SURFACE -check_PROGRAMS += svg2png -svg2png_CFLAGS = $(AM_CFLAGS) $(LIBRSVG_CFLAGS) -# add LDADD, so librsvg uses "our" cairo -svg2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) -svg2png_LDADD = $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) \ - $(LIBRSVG_LIBS) -endif - -if CAIRO_HAS_SPECTRE -check_PROGRAMS += ps2png -ps2png_CFLAGS = $(AM_CFLAGS) $(LIBSPECTRE_CFLAGS) -# add LDADD, so ps2png uses "our" cairo -ps2png_LDFLAGS = $(AM_LDFLAGS) $(CAIRO_TEST_UNDEFINED_LDFLAGS) -ps2png_LDADD = $(top_builddir)/src/libcairo.la \ - $(CAIRO_LDADD) \ - $(LIBSPECTRE_LIBS) -endif - -EXTRA_PROGRAMS += $(TESTS) - -# Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that -# one can limit tested targets both through CAIRO_TEST_TARGET env var -# and TARGETS make var on the command line. Same for the rest. -TARGETS = $(CAIRO_TEST_TARGET) -TARGETS_EXCLUDE = $(CAIRO_TEST_TARGET_EXCLUDE) -FORMAT = $(CAIRO_TEST_TARGET_FORMAT) -NUM_THREADS = $(CAIRO_TEST_NUM_THREADS) -MODE = $(CAIRO_TEST_MODE) - -# Same about ENV vs CAIRO_TEST_ENV. ENV is used with "make run" only -ENV = $(CAIRO_TEST_ENV) - -TESTS_ENVIRONMENT = CAIRO_TEST_MODE="$(MODE)" CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_TEST_TARGET_FORMAT="$(FORMAT)" CAIRO_TEST_TARGET_EXCLUDE="$(TARGETS_EXCLUDE)" CAIRO_TEST_NUM_THREADS="$(NUM_THREADS)" $(ENV) - -EXTRA_VALGRIND_FLAGS = $(CAIRO_EXTRA_VALGRIND_FLAGS) -VALGRIND_FLAGS = \ - --tool=memcheck --suppressions=$(srcdir)/.valgrind-suppressions \ - --track-origins=yes \ - --leak-check=yes --show-reachable=yes \ - $(EXTRA_VALGRIND_FLAGS) - -CLEANFILES += \ - valgrind-log \ - ref.hash \ - ref.list \ - png-test.png \ - png.out.png \ - create-for-stream.pdf \ - create-for-stream.ps \ - create-for-stream.svg \ - svg-surface-source.out.svg \ - pdf-surface-source.out.pdf \ - ps-surface-source.out.ps \ - pdf-features.pdf \ - pdf-mime-data.out* \ - ps-features.ps \ - svg-clip.svg \ - svg-surface.svg \ - multi-page.pdf \ - multi-page.ps \ - $(NULL) - -# This used to be a simple 'echo ${RM} *.ps *.pdf *.svg *.etc', but -# most systems cannot handle all of our clean files together. -# Then it became a fancy find using many GNU extensions, but then the ugly -# reality of portability was raised and it became.... -clean-local: - rm -rf output - -${FIND} . -name '*.log' -print | ${XARGS} ${RM} - -${FIND} . -name '*.[is]' -print | ${XARGS} ${RM} -clean-caches: - -${FIND} output -name '*.fail.*' -print | ${XARGS} ${RM} - -${FIND} output -name '*.pass.*' -print | ${XARGS} ${RM} - -# The following definitions both should work. -#FAILED_TESTS = `grep -l '\<FAIL\>' $(test_sources:.c=.log) 2>/dev/null | sed -e 's/[.]log$$//' | xargs echo` -FAILED_TESTS = `grep -l '\<FAIL\>' $(test_sources:.c=.log) 2>/dev/null | tr '\n' ' ' | sed -e 's/[.]log */ /g; s/^ //; s/ $$//'` - -recheck = check CAIRO_TESTS="$(FAILED_TESTS)" - -# Re-checks all failed tests, i.e. tests with a log file that has a failure -recheck: - @echo Re-checking failed tests - @$(MAKE) $(AM_MAKEFLAGS) $(recheck) - -# Checks tests. -# Target doesn't fail if tests fail. -test: - @$(MAKE) $(AM_MAKEFLAGS) check - -# Re-checks tests. -# Target doesn't fail if tests fail. -retest: - @CAIRO_TESTS="$(FAILED_TESTS)"; \ - $(MAKE) $(AM_MAKEFLAGS) check - -# Run tests under a tool specified by TOOL. For example, make run TOOL=gdb -run: - $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) $(top_builddir)/libtool --mode=execute env $(TOOL)' - -# Check tests under valgrind. Saves log to valgrind-log -check-valgrind: - $(MAKE) $(AM_MAKEFLAGS) check TESTS_ENVIRONMENT='$(TESTS_ENVIRONMENT) CAIRO_TEST_MODE="$(MODE),foreground CAIRO_TEST_TIMEOUT=0" $(top_builddir)/libtool --mode=execute valgrind $(VALGRIND_FLAGS)' 2>&1 | tee valgrind-log - -#%.log: %.c cairo-test-suite -#-./cairo-test-suite $(<:.c=) - -NOLOG_TESTS_LOG = $(NOLOG_TESTS:=.log) - -$(NOLOG_TESTS_LOG): - @echo dummy > $@ - -# Identify identical reference images -check-ref-dups: check-refs.sh $(top_builddir)/test/pdiff/perceptualdiff - sh $(srcdir)/check-refs.sh $(top_builddir)/test/pdiff/perceptualdiff - -# Remove identical reference images (DANGEROUS) -clean-ref-dups: check-refs.sh $(top_builddir)/test/pdiff/perceptualdiff - sh $(srcdir)/check-refs.sh | cut -d' ' -f2 | while read f; do git rm "reference/$$f"; done - -results.tar: - @tar cf $@ index.html testtable.js *.log output/*.log; \ - for i in output/*.fail.png ; do \ - testname=$${i#output/} ; \ - testname=$${testname%%.*} ; \ - echo tar uf $@ reference/$${testname}*.ref.png $${i%fail.png}out.png $${i%fail.png}diff.png ; \ - tar uf $@ reference/$${testname}*.ref.png $${i%fail.png}out.png $${i%fail.png}diff.png ; \ - done - -results.tar.gz: results.tar - gzip -c $< > $@ - -release-verify-sane-tests: - -.PHONY: check-valgrind test recheck retest check-ref-dups release-verify-sane-tests - -EXTRA_DIST += Makefile.win32 |