summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2023-01-08 22:27:47 +1030
committerAdrian Johnson <ajohnson@redneon.com>2023-01-08 22:27:47 +1030
commitefe303d9db6e24d5786c15252327811338bc9b0a (patch)
tree03e9f747e7beea2ddd4f8fb218550aef285f4418 /test
parent387d2f07394061882ec0319b114a789e48ec5380 (diff)
downloadcairo-efe303d9db6e24d5786c15252327811338bc9b0a.tar.gz
Remove autotools build
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am412
-rw-r--r--test/Makefile.sources485
-rw-r--r--test/Makefile.win3255
-rw-r--r--test/README296
-rw-r--r--test/pdiff/CMakeLists.txt55
-rw-r--r--test/pdiff/Makefile.am19
-rw-r--r--test/pdiff/Makefile.win3214
7 files changed, 0 insertions, 1336 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index df2d59f44..000000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,412 +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
-test_sources += $(ft_font_test_sources)
-if CAIRO_HAS_FC_FONT
-test_sources += $(fc_font_test_sources)
-if HAVE_FT_SVG_DOCUMENT
-test_sources += $(fc_svg_font_test_sources)
-endif
-endif
-endif
-
-if CAIRO_HAS_GL_SURFACE
-test_sources += $(gl_surface_test_sources)
-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) $(quartz_color_font_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)) > $@ || (rm $@ ; exit 1)
-
-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 \
-font-variations \
-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)
-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)" $(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* \
- pdf-tagged-text.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
diff --git a/test/Makefile.sources b/test/Makefile.sources
deleted file mode 100644
index 6a5b57575..000000000
--- a/test/Makefile.sources
+++ /dev/null
@@ -1,485 +0,0 @@
-test_sources = \
- a1-bug.c \
- a1-clip.c \
- a1-fill.c \
- a1-image-sample.c \
- a1-mask.c \
- a1-mask-sample.c \
- a1-sample.c \
- a1-traps-sample.c \
- a1-rasterisation.c \
- a8-clear.c \
- a8-mask.c \
- aliasing.c \
- alpha-similar.c \
- arc-direction.c \
- arc-infinite-loop.c \
- arc-looping-dash.c \
- api-special-cases.c \
- big-line.c \
- big-empty-box.c \
- big-empty-triangle.c \
- big-little-box.c \
- big-little-triangle.c \
- bug-spline.c \
- big-trap.c \
- bilevel-image.c \
- bug-277.c \
- bug-361.c \
- bug-40410.c \
- bug-431.c \
- bug-448.c \
- bug-535.c \
- bug-51910.c \
- bug-75705.c \
- bug-84115.c \
- bug-bo-rectangular.c \
- bug-bo-collins.c \
- bug-bo-ricotz.c \
- bug-source-cu.c \
- bug-extents.c \
- bug-seams.c \
- bug-image-compositor.c \
- caps.c \
- checkerboard.c \
- caps-joins.c \
- caps-joins-alpha.c \
- caps-joins-curve.c \
- caps-tails-curve.c \
- caps-sub-paths.c \
- clear.c \
- clear-source.c \
- clip-all.c \
- clip-complex-bug61592.c \
- clip-complex-shape.c \
- clip-contexts.c \
- clip-disjoint.c \
- clip-disjoint-hatching.c \
- clip-disjoint-quad.c \
- clip-device-offset.c \
- clip-double-free.c \
- clip-draw-unbounded.c \
- clip-empty.c \
- clip-empty-group.c \
- clip-empty-save.c \
- clip-fill.c \
- clip-fill-no-op.c \
- clip-fill-rule.c \
- clip-fill-rule-pixel-aligned.c \
- clip-group-shapes.c \
- clip-image.c \
- clip-intersect.c \
- clip-mixed-antialias.c \
- clip-nesting.c \
- clip-operator.c \
- clip-push-group.c \
- clip-polygons.c \
- clip-rectilinear.c \
- clip-shape.c \
- clip-stroke.c \
- clip-stroke-no-op.c \
- clip-text.c \
- clip-twice.c \
- clip-twice-rectangle.c \
- clip-unbounded.c \
- clip-zero.c \
- clipped-group.c \
- clipped-surface.c \
- close-path.c \
- close-path-current-point.c \
- composite-integer-translate-source.c \
- composite-integer-translate-over.c \
- composite-integer-translate-over-repeat.c \
- copy-disjoint.c \
- copy-path.c \
- coverage.c \
- create-for-stream.c \
- create-from-broken-png-stream.c \
- create-from-png.c \
- create-from-png-stream.c \
- culled-glyphs.c \
- curve-to-as-line-to.c \
- dash-caps-joins.c \
- dash-curve.c \
- dash-infinite-loop.c \
- dash-no-dash.c \
- dash-offset.c \
- dash-offset-negative.c \
- dash-scale.c \
- dash-state.c \
- dash-zero-length.c \
- degenerate-arc.c \
- degenerate-arcs.c \
- degenerate-curve-to.c \
- degenerate-dash.c \
- degenerate-linear-gradient.c \
- degenerate-path.c \
- degenerate-pen.c \
- degenerate-radial-gradient.c \
- degenerate-rel-curve-to.c \
- degenerate-solid-dash.c \
- drunkard-tails.c \
- device-offset.c \
- device-offset-fractional.c \
- device-offset-positive.c \
- device-offset-scale.c \
- error-setters.c \
- extend-pad.c \
- extend-pad-border.c \
- extend-pad-similar.c \
- extend-reflect.c \
- extend-reflect-similar.c \
- extend-repeat.c \
- extend-repeat-similar.c \
- extended-blend.c \
- fallback.c \
- fill-alpha.c \
- fill-alpha-pattern.c \
- fill-and-stroke.c \
- fill-and-stroke-alpha.c \
- fill-and-stroke-alpha-add.c \
- fill-degenerate-sort-order.c \
- fill-disjoint.c \
- fill-empty.c \
- fill-image.c \
- fill-missed-stop.c \
- fill-rule.c \
- filter-bilinear-extents.c \
- filter-nearest-offset.c \
- filter-nearest-transformed.c \
- finer-grained-fallbacks.c \
- font-face-get-type.c \
- font-matrix-translation.c \
- font-options.c \
- glyph-cache-pressure.c \
- get-and-set.c \
- get-clip.c \
- get-group-target.c \
- get-path-extents.c \
- gradient-alpha.c \
- gradient-constant-alpha.c \
- gradient-zero-stops.c \
- gradient-zero-stops-mask.c \
- group-clip.c \
- group-paint.c \
- group-state.c \
- group-unaligned.c \
- hairline.c \
- half-coverage.c \
- halo.c \
- hatchings.c \
- horizontal-clip.c \
- huge-linear.c \
- huge-radial.c \
- image-surface-source.c \
- image-bug-710072.c \
- implicit-close.c \
- infinite-join.c \
- in-fill-empty-trapezoid.c \
- in-fill-trapezoid.c \
- invalid-matrix.c \
- inverse-text.c \
- inverted-clip.c \
- joins.c \
- joins-loop.c \
- joins-star.c \
- joins-retrace.c \
- large-clip.c \
- large-font.c \
- large-source.c \
- large-source-roi.c \
- large-twin-antialias-mixed.c \
- leaky-dash.c \
- leaky-dashed-rectangle.c \
- leaky-dashed-stroke.c \
- leaky-polygon.c \
- line-width.c \
- line-width-large-overlap.c \
- line-width-overlap.c \
- line-width-scale.c \
- line-width-tolerance.c \
- line-width-zero.c \
- linear-gradient.c \
- linear-gradient-extend.c \
- linear-gradient-large.c \
- linear-gradient-one-stop.c \
- linear-gradient-reflect.c \
- linear-gradient-subset.c \
- linear-step-function.c \
- linear-uniform.c \
- long-dashed-lines.c \
- long-lines.c \
- map-to-image.c \
- mask.c \
- mask-alpha.c \
- mask-ctm.c \
- mask-glyphs.c \
- mask-surface-ctm.c \
- mask-transformed-image.c \
- mask-transformed-similar.c \
- mesh-pattern.c \
- mesh-pattern-accuracy.c \
- mesh-pattern-conical.c \
- mesh-pattern-control-points.c \
- mesh-pattern-fold.c \
- mesh-pattern-overlap.c \
- mesh-pattern-transformed.c \
- mime-data.c \
- mime-surface-api.c \
- miter-precision.c \
- move-to-show-surface.c \
- negative-stride-image.c \
- new-sub-path.c \
- nil-surface.c \
- operator.c \
- operator-alpha.c \
- operator-alpha-alpha.c \
- operator-clear.c \
- operator-source.c \
- operator-www.c \
- outline-tolerance.c \
- overflow.c \
- over-above-source.c \
- over-around-source.c \
- over-below-source.c \
- over-between-source.c \
- overlapping-boxes.c \
- overlapping-glyphs.c \
- overlapping-dash-caps.c \
- paint.c \
- paint-clip-fill.c \
- paint-repeat.c \
- paint-source-alpha.c \
- paint-with-alpha.c \
- paint-with-alpha-group-clip.c \
- partial-clip-text.c \
- partial-coverage.c \
- pass-through.c \
- path-append.c \
- path-currentpoint.c \
- path-stroke-twice.c \
- path-precision.c \
- pattern-get-type.c \
- pattern-getters.c \
- pdf-isolated-group.c \
- pixman-downscale.c \
- pixman-rotate.c \
- png.c \
- push-group.c \
- push-group-color.c \
- push-group-path-offset.c \
- radial-gradient.c \
- radial-gradient-extend.c \
- radial-outer-focus.c \
- random-clips.c \
- random-intersections-eo.c \
- random-intersections-nonzero.c \
- random-intersections-curves-eo.c \
- random-intersections-curves-nz.c \
- raster-source.c \
- record.c \
- record1414x.c \
- record2x.c \
- record90.c \
- recordflip.c \
- record-extend.c \
- record-neg-extents.c \
- record-mesh.c \
- record-replay-extend.c \
- record-transform-paint.c \
- record-write-png.c \
- recording-ink-extents.c \
- recording-surface-pattern.c \
- recording-surface-extend.c \
- rectangle-rounding-error.c \
- rectilinear-fill.c \
- rectilinear-grid.c \
- rectilinear-miter-limit.c \
- rectilinear-dash.c \
- rectilinear-dash-scale.c \
- rectilinear-stroke.c \
- reflected-stroke.c \
- rel-path.c \
- rgb24-ignore-alpha.c \
- rotate-image-surface-paint.c \
- rotate-stroke-box.c \
- rotated-clip.c \
- rounded-rectangle-fill.c \
- rounded-rectangle-stroke.c \
- round-join-bug-520.c \
- sample.c \
- scale-down-source-surface-paint.c \
- scale-offset-image.c \
- scale-offset-similar.c \
- scale-source-surface-paint.c \
- scaled-font-zero-matrix.c \
- stroke-ctm-caps.c \
- stroke-clipped.c \
- stroke-image.c \
- stroke-open-box.c \
- select-font-face.c \
- select-font-no-show-text.c \
- self-copy.c \
- self-copy-overlap.c \
- self-intersecting.c \
- set-source.c \
- show-glyphs-advance.c \
- show-glyphs-many.c \
- show-text-current-point.c \
- shape-general-convex.c \
- shape-sierpinski.c \
- shifted-operator.c \
- simple.c \
- skew-extreme.c \
- smask.c \
- smask-fill.c \
- smask-image-mask.c \
- smask-mask.c \
- smask-paint.c \
- smask-stroke.c \
- smask-text.c \
- smp-glyph.c \
- solid-pattern-cache-stress.c \
- source-clip.c \
- source-clip-scale.c \
- source-surface-scale-paint.c \
- spline-decomposition.c \
- stride-12-image.c \
- stroke-pattern.c \
- subsurface.c \
- subsurface-image-repeat.c \
- subsurface-repeat.c \
- subsurface-reflect.c \
- subsurface-pad.c \
- subsurface-modify-child.c \
- subsurface-modify-parent.c \
- subsurface-outside-target.c \
- subsurface-scale.c \
- subsurface-similar-repeat.c \
- surface-finish-twice.c \
- surface-pattern.c \
- surface-pattern-big-scale-down.c \
- surface-pattern-operator.c \
- surface-pattern-scale-down.c \
- surface-pattern-scale-down-extend.c \
- surface-pattern-scale-up.c \
- text-antialias.c \
- text-antialias-subpixel.c \
- text-cache-crash.c \
- text-glyph-range.c \
- text-pattern.c \
- text-rotate.c \
- text-subpixel.c \
- text-transform.c \
- text-unhinted-metrics.c \
- text-zero-len.c \
- thin-lines.c \
- tighten-bounds.c \
- tiger.c \
- toy-font-face.c \
- transforms.c \
- translate-show-surface.c \
- trap-clip.c \
- twin.c \
- twin-antialias-gray.c \
- twin-antialias-mixed.c \
- twin-antialias-none.c \
- twin-antialias-subpixel.c \
- unaligned-box.c \
- unantialiased-shapes.c \
- unbounded-operator.c \
- unclosed-strokes.c \
- user-data.c \
- user-font.c \
- user-font-color.c \
- user-font-mask.c \
- user-font-proxy.c \
- user-font-rescale.c \
- user-font-subpixel.c \
- world-map.c \
- white-in-noop.c \
- xcb-huge-image-shm.c \
- xcb-huge-subimage.c \
- xcb-stress-cache.c \
- xcb-snapshot-assert.c \
- xcomposite-projection.c \
- xlib-expose-event.c \
- zero-alpha.c \
- zero-mask.c
-
-pthread_test_sources = \
- pthread-same-source.c \
- pthread-show-text.c \
- pthread-similar.c \
- $(NULL)
-
-ft_font_test_sources = \
- font-variations.c
-
-fc_font_test_sources = \
- bitmap-font.c \
- ft-color-font.c \
- ft-font-create-for-ft-face.c \
- ft-show-glyphs-positioning.c \
- ft-show-glyphs-table.c \
- ft-text-vertical-layout-type1.c \
- ft-text-vertical-layout-type3.c \
- ft-text-antialias-none.c
-
-fc_svg_font_test_sources = \
- ft-svg-color-font.c
-
-gl_surface_test_sources = \
- gl-device-release.c \
- gl-oversized-surface.c \
- gl-surface-source.c
-
-egl_surface_test_sources = \
- egl-oversized-surface.c \
- egl-surface-source.c
-
-quartz_surface_test_sources = quartz-surface-source.c
-
-quartz_color_font_test_sources = quartz-color-font.c
-
-pdf_surface_test_sources = \
- pdf-features.c \
- pdf-mime-data.c \
- pdf-operators-text.c \
- pdf-surface-source.c \
- pdf-tagged-text.c
-
-ps_surface_test_sources = \
- ps-eps.c \
- ps-features.c \
- ps-surface-source.c
-
-svg_surface_test_sources = \
- svg-surface.c \
- svg-clip.c \
- svg-surface-source.c
-
-xcb_surface_test_sources = \
- xcb-surface-source.c
-
-xlib_surface_test_sources = \
- xlib-surface.c \
- xlib-surface-source.c
-
-xlib_xrender_surface_test_sources = get-xrender-format.c
-
-multi_page_surface_test_sources = multi-page.c mime-unique-id.c
-
-fallback_resolution_test_sources = fallback-resolution.c
-
-cairo_test_suite_headers = \
- buffer-diff.h \
- cairo-test.h \
- cairo-test-private.h \
- world-map.h \
- $(NULL)
-
-cairo_test_suite_sources = \
- buffer-diff.c \
- cairo-test.c \
- cairo-test-runner.c
diff --git a/test/Makefile.win32 b/test/Makefile.win32
deleted file mode 100644
index ba8ea5b86..000000000
--- a/test/Makefile.win32
+++ /dev/null
@@ -1,55 +0,0 @@
-top_srcdir = ..
-include $(top_srcdir)/build/Makefile.win32.common
-include $(top_srcdir)/test/Makefile.sources
-
-CFLAGS += \
- -I$(top_srcdir)/boilerplate \
- -I$(top_srcdir)/util/cairo-script/ \
- -I./pdiff \
- $(NULL)
-
-TEST_LIBS = \
- ./pdiff/$(CFG)/pdiff.lib \
- $(top_builddir)/boilerplate/$(CFG)/boiler.lib \
- $(top_builddir)/src/$(CFG)/cairo-static.lib \
- $(NULL)
-
-all: inform $(CFG)/cairo-test-suite.exe
-
-cairo-test-constructors.c: Makefile.sources Makefile.win32 $(test_sources) make-cairo-test-constructors.sh
- sh ./make-cairo-test-constructors.sh $(test_sources) > $@
-
-SOURCES = $(cairo_test_suite_sources) $(test_sources) cairo-test-constructors.c
-
-OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(SOURCES))
-
-ANY2PPM_OBJS = \
- $(CFG)/any2ppm-static.obj \
- $(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib \
- $(top_builddir)/src/$(CFG)/cairo-static.lib \
- $(NULL)
-
-$(CFG)/cairo-test-suite.exe: $(OBJECTS) $(TEST_LIBS)
- @$(LD) $(CAIRO_LDFLAGS) -OUT:$@ $(OBJECTS) $(TEST_LIBS) $(CAIRO_LIBS)
-
-$(CFG)/any2ppm.exe: $(ANY2PPM_OBJS)
- $(LD) $(CAIRO_LDFLAGS) -OUT:$@ $^ $(CAIRO_LIBS)
-
-./pdiff/$(CFG)/pdiff.lib:
- $(MAKE) -C pdiff -f Makefile.win32
-
-$(top_builddir)/src/$(CFG)/cairo-static.lib:
- $(MAKE) -C $(top_srcdir)/src -f Makefile.win32
-
-$(top_builddir)/boilerplate/$(CFG)/boiler.lib:
- $(MAKE) -C $(top_srcdir)/boilerplate -f Makefile.win32
-
-$(top_builddir)/util/cairo-script/$(CFG)/libcairo-script-interpreter.lib:
- $(MAKE) -C $(top_srcdir)/util/cairo-script -f Makefile.win32
-
-.PHONY: check test
-
-check: inform $(CFG)/any2ppm.exe $(CFG)/cairo-test-suite.exe
- @ANY2PPM=$(CFG)\\any2ppm.exe $(CFG)/cairo-test-suite.exe
-
-test: inform check
diff --git a/test/README b/test/README
deleted file mode 100644
index ea775cfcd..000000000
--- a/test/README
+++ /dev/null
@@ -1,296 +0,0 @@
-Regression test suite for cairo.
-
-How to use cairo's test suite
-=============================
-Using this test should be as simple as running:
-
- make test
-
-assuming that the cairo distribution in the directory above has been
-configured and built. The test suite here goes through some effort to
-run against the locally compiled library rather than any installed
-version, but those efforts may fall short depending on the level of your
-libtool madness.
-
-The results of the test suite run are summarized in an index.html
-file, which, when viewed in a web browser makes it quite easy to
-visually see any failed renderings alongside the corresponding
-reference image, (and a diff image as well).
-
-As some browsers do not permit Javascript to read from the local
-filesystem, the view-test-results.py script can used to view the
-results. It starts a http server serving the current directory before
-displaying the test results in a browser.
-
-The test suite needs to be run before any code is committed and before
-any release. See below for hints and rules governing the use of the suite.
-
-The test suite is built as a single binary, which allows you to choose
-individual or categories of tests to run. For example, to run specific tests:
- ./cairo-test-suite record-neg-extents-unbounded record-neg-extents-bounded
-Or if you want to run all paint.* related tests you can use:
- ./cairo-test-suite paint
-Or if you want to check the current status of known failures:
- ./cairo-test-suite XFAIL
-Or to run a subset of tests, use the -k option to run only the tests
-that include the given keyword:
- ./cairo-test-suite -k downscale
-The binary also permits controlling which backend is used via the
-CAIRO_TEST_TARGET environment variable, so for instance:
- CAIRO_TEST_TARGET=gl ./cairo-test-suite -k blur
-This binary should be backwards-compatible with all library versions,
-allowing you to compare current versus past behaviour for any test.
-
-The test suite needs to find the "test" directory in the source
-tree. The srcdir environment variable can be used to specify
-the location of this directory. If this environment variable is not
-set, the binary looks for the directory "srcdir" in the current
-directory. The meson build system symlinks "srcdir" in the
-$builddir/test directory to the "test" directory in the source
-tree. If this is not found the binary defaults to the current
-directory.
-
-Tailoring tests running
------------------------
-There are some mechanisms to limit the tests run during "make test".
-These come very handy when doing development, but should not be used
-to circumvent the "pass" requirements listed below.
-
-make's TARGETS environment variable can be used to limit the backends when
-running the tests. It should contain a (space-, comma-separated) list of
-backends. CAIRO_TESTS environment variable, which is a comma-, space-seperated
-lists, can be used to limit the tests run.
-For example:
-
- CAIRO_TESTS="zero-alpha" make test TARGETS=image,ps
-
-make's FORMAT variable can also be used to limit the content formats when
-running the tests. It should contain a (space-, comma-separated) list of
-content formats to test.
-For example:
-
- CAIRO_TESTS="zero-alpha" make test TARGETS=image,ps FORMAT="rgb,rgba"
-
-Another very handy mechanism when trying to fix bugs is:
-
- make retest
-
-This will re-run the test suite, but only on tests that failed on the
-last run. So this is a much faster way of checking if changes actually
-fix bugs rather than running the entire test suite again.
-
-The test suite first compares the output from the current run against the
-previous in order to skip more expensive image comparisons . If you think
-this is interfering with the results, you can clear the cached results using:
-
- make clean-caches
-
-Running tests under modified environments or tools
--------------------------------------------------
-To run tests under a tool like gdb, one can use the run target and
-the TOOL variable. For example:
-
- CAIRO_TESTS=user-font make run TOOL=gdb TARGETS=pdf
-
-If you want to run under valgrind, there is a specific target for that
-that also sets a bunch of useful valgrind options. Try:
-
- CAIRO_TESTS=user-font make check-valgrind
-
-You can run tests under a modified environment you can use the ENV
-make variable. However, that environment will also affect the libtool
-wrapper of the tests. To only affect the actual test binaries, pass
-such environment as TOOL:
-
- CAIRO_TESTS=user-font make run TOOL="LD_PRELOAD=/path/to/something.so"
-
-Getting the elusive zero failures
----------------------------------
-It's generally been very difficult to achieve a test run with zero
-failures. The difficulties stem from the various versions of the many
-libraries that the test suite depends on, (it depends on a lot more
-than cairo itself), as well as fonts and other system-specific
-settings. If your system differs significantly from the system on
-which the reference images were generated, then you will likely see
-the test suite reporting "failures", (even if cairo is working just
-fine).
-
-We are constantly working to reduce the number of variables that need
-to be tweaked to get a clean run, (for example, by bundling fonts with
-the test suite itself), and also working to more carefully document
-the software configuration used to generate the reference images.
-
-Here are some of the relevant details:
-
- * Your system must have a copy of the DejaVu font, the sha1sum of
- the version used are listed in [...]. These are
- "DejaVu Sans" (DejaVuSans.ttf) [e9831ee4fd2e1d0ac54508a548c6a449545eba3f];
- "DejaVu Sans Mono" (DejaVuSansMono.ttf) [25d854fbd0450a372615a26a8ef9a1024bd3efc6];
- "DejaVu Serif" (DejaVuSerif.ttf) [78a81850dc7883969042cf3d6dfd18eea7e43e2f];
- [the DejaVu fonts can be installed from the fonts-dejavu-core 2.34-1 Debian package]
- and also
- "Nimbus Sans L" (n019003l.pfb)
- [which can be found in the gsfonts Debian package].
-
- * Currently, you must be using a build of cairo using freetype
- (cairo-ft) as the default font backend. Otherwise all tests
- involving text are likely to fail.
-
- * To test the pdf backend, you will want the very latest version of
- poppler as made available via git:
-
- git clone git://anongit.freedesktop.org/git/poppler/poppler
-
- As of this writing, no released version of poppler contains all
- the fixes you will need to avoid false negatives from the test
- suite.
-
- * To test the ps backend, you will need ghostscript version 9.06.
-
- * 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:
-
- Xvfb -screen 0 1680x1024x24 -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?
--------------------------------------
-For one reason or another, you may be unable to get a clean run of the
-test suite even if cairo is working properly, (for example, you might
-be on a system without freetype). In this case, it's still useful to
-be able to determine if code changes you make to cairo result in any
-regressions to the test suite. But it's hard to notice regressions if
-there are many failures both before and after your changes.
-
-For this scenario, you can capture the output of a run of the test
-suite before your changes, and then use the CAIRO_REF_DIR environment
-variable to use that output as the reference images for a run after
-your changes. The process looks like this:
-
- # Before code change there may be failures we don't care about
- make test
-
- # Let's save those output images
- mkdir /some/directory/
- cp -r test/output /some/directory/
-
- # hack, hack, hack
-
- # Now to see if nothing changed:
- CAIRO_REF_DIR=/some/directory/ make test
-
-Best practices for cairo developers
-===================================
-If we all follow the guidelines below, then both the test suite and
-cairo itself will stay much healthier, and we'll all have a lot more
-fun hacking on cairo.
-
-Before committing
------------------
-All tests should return a result of PASS or XFAIL. The XFAIL results
-indicate known bugs. The final message should be one of the following:
-
- All XX tests behaved as expected (YY expected failures)
- All XX tests passed
-
-If any tests have a status of FAIL, then the new code has caused a
-regression error which should be fixed before the code is committed.
-
-When a new bug is found
------------------------
-A new test case should be added by imitating the style of an existing
-test. This means adding the following files:
-
- new-bug.c
- reference/new-bug.ref.png
- reference/new-bug.xfail.png
-
-Where new-bug.c is a minimal program to demonstrate the bug, following
-the style of existing tests. The new-bug.ref.png image should contain
-the desired result of new-bug.c if the bug were fixed while
-new-bug.xfail.png contains the current results of the test.
-
-Makefile.sources should be edited by adding new-bug.c to test_sources.
-And last but not least, don't forget to "git add" the new files.
-
-When a new feature is added
----------------------------
-It's important for the regression suite to keep pace with development
-of the library. So a new test should be added for each new feature.
-The work involved is similar the work described above for new bugs.
-The only distinction is that the test is expected to pass so it
-should not need a new-bug.xfail.png file.
-
-While working on a test
------------------------
-Before a bugfix or feature is ready, it may be useful to compare
-output from different builds. For convenience, you can set
-CAIRO_REF_DIR to point at a previous test directory, relative
-to the current test directory, and any previous output will be
-used by preference as reference images.
-
-When a bug is fixed
--------------------
-The fix should be verified by running the test suite which should
-result in an "unexpected pass" for the test of interest. Rejoice as
-appropriate, then remove the relevant xfail.png file from git.
-
-Before releasing
-----------------
-All tests should return a result of PASS for all supported (those enabled by
-default) backends, meaning all known bugs are fixed, resulting in the happy
-message:
-
- All XX tests passed
-
-Some notes on limitations in poppler
-====================================
-One of the difficulties of our current test infrastructure is that we
-rely on external tools to convert cairo's vector output (PDF,
-PostScript, and SVG), into an image that can be used for the image
-comparison. This means that any bugs in that conversion tool will
-result in false negatives in the test suite.
-
-We've identified several such bugs in the poppler library which is
-used to convert PDF to an image. This is particularly discouraging
-because 1) poppler is free software that will be used by *many* cairo
-users, and 2) poppler calls into cairo for its rendering so it should
-be able to do a 100% faithful conversion.
-
-So we have an interest in ensuring that these poppler bugs get fixed
-sooner rather than later. As such, we're trying to be good citizens by
-reporting all such poppler bugs that we identify to the poppler
-bugzilla. Here's a tracking bug explaining the situation:
-
- Poppler does not yet handle everything in the cairo test suite
- https://bugs.freedesktop.org/show_bug.cgi?id=12143
-
-Here's the rule: If a cairo-pdf test reports a failure, but viewing
-the resulting PDF file with acroread suggests that the PDF itself is
-correct, then there's likely a bug in poppler. In this case, we can
-simply report the poppler bug, (making it block 12143 above), post the
-PDF result from the test suite, and list the bug in this file. Once
-we've done this, we can capture poppler's buggy output as a
-pdf-specific reference image (as reference/*.xfail.png) so that the
-test suite will regard the test as passing, (and we'll ensure there
-is no regression).
-
-Once the poppler bug gets fixed, the test suite will start reporting a
-false negative again, and this will be easy to fix by simply removing
-the pdf-specific reference image.
-
-Here are the reported poppler bugs and the tests they affect:
-
-[Newest was closed in 2009.]
diff --git a/test/pdiff/CMakeLists.txt b/test/pdiff/CMakeLists.txt
deleted file mode 100644
index 6e4fa7a8a..000000000
--- a/test/pdiff/CMakeLists.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-PROJECT (PerceptualDiff)
-SET(DIFF_SRC PerceptualDiff.cpp LPyramid.cpp RGBAImage.cpp
-CompareArgs.cpp Metric.cpp)
-
-ADD_EXECUTABLE (perceptualdiff ${DIFF_SRC})
-
-# look for libtiff
-FIND_PATH(TIFF_INCLUDE_DIR tiff.h
- /usr/local/include
- /usr/include
- /opt/local/include
-)
-
-FIND_LIBRARY(TIFF_LIBRARY tiff
- /usr/lib
- /usr/local/lib
- /opt/local/lib
-)
-
-IF(TIFF_INCLUDE_DIR)
- IF(TIFF_LIBRARY)
- SET( TIFF_FOUND "YES" )
- SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )
- ENDIF(TIFF_LIBRARY)
-ENDIF(TIFF_INCLUDE_DIR)
-
-IF(TIFF_FOUND)
- INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
- TARGET_LINK_LIBRARIES(perceptualdiff ${TIFF_LIBRARY})
-ENDIF(TIFF_FOUND)
-
-# look for libpng
-FIND_PATH(PNG_INCLUDE_DIR png.h
- /usr/local/include
- /usr/include
- /opt/local/include
-)
-
-FIND_LIBRARY(PNG_LIBRARY png
- /usr/lib
- /usr/local/lib
- /opt/local/lib
-)
-
-IF(PNG_INCLUDE_DIR)
- IF(PNG_LIBRARY)
- SET( PNG_FOUND "YES" )
- SET( PNG_LIBRARIES ${PNG_LIBRARY} )
- ENDIF(PNG_LIBRARY)
-ENDIF(PNG_INCLUDE_DIR)
-
-IF(PNG_FOUND)
- INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
- TARGET_LINK_LIBRARIES(perceptualdiff ${PNG_LIBRARY})
-ENDIF(PNG_FOUND) \ No newline at end of file
diff --git a/test/pdiff/Makefile.am b/test/pdiff/Makefile.am
deleted file mode 100644
index 73098da78..000000000
--- a/test/pdiff/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-include $(top_srcdir)/build/Makefile.am.common
-
-EXTRA_PROGRAMS += perceptualdiff
-EXTRA_DIST += gpl.txt
-
-noinst_LTLIBRARIES = libpdiff.la
-libpdiff_la_SOURCES = \
- pdiff.h \
- lpyramid.c \
- lpyramid.h \
- pdiff.c
-
-perceptualdiff_SOURCES = \
- args.c \
- args.h \
- perceptualdiff.c
-
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src $(CAIRO_CFLAGS)
-LDADD = libpdiff.la $(top_builddir)/src/libcairo.la
diff --git a/test/pdiff/Makefile.win32 b/test/pdiff/Makefile.win32
deleted file mode 100644
index 3d64676da..000000000
--- a/test/pdiff/Makefile.win32
+++ /dev/null
@@ -1,14 +0,0 @@
-top_srcdir = ../..
-include $(top_srcdir)/build/Makefile.win32.common
-
-SOURCES = \
- lpyramid.c \
- pdiff.c \
- $(NULL)
-
-OBJECTS = $(patsubst %.c, $(CFG)/%-static.obj, $(SOURCES))
-
-all: $(CFG)/pdiff.lib
-
-$(CFG)/pdiff.lib: $(OBJECTS)
- @$(AR) $(CAIRO_ARFLAGS) -OUT:$@ $(OBJECTS)