SUBDIRS = \ reference \ tests # The test program returns 'success' if all buffer tests passed TESTS = buffer-tests-results.sh buffer-tests-results.sh: buffer-tests-report TESTS_ENVIRONMENT = REFERENCE_DIR=$(top_srcdir)/tests/buffer/reference EXTRA_DIST = buffer-tests-results.sh # Always build buffer-test to catch compilation problems early BUILT_SOURCES = buffer-tests.inc check_PROGRAMS = buffer-test AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir)/gegl \ -I$(top_srcdir)/gegl \ -I$(top_builddir)/gegl/buffer \ -I$(top_srcdir)/gegl/buffer \ -I$(top_builddir)/gegl/property-types \ -I$(top_srcdir)/gegl/property-types \ -I$(top_builddir)/gegl/operation \ -I$(top_srcdir)/gegl/operation \ -I$(top_builddir)/gegl/opencl \ -I$(top_srcdir)/gegl/opencl AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS) buffer_test_LDADD = \ $(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \ $(DEP_LIBS) $(BABL_LIBS) # Our custom target rules buffer-tests.inc: $(buffer_test_SOURCES) Makefile.am $(top_srcdir)/tests/buffer/tests/*.c @echo 'Generating $@' @echo '/* this file is generated by the build system */' > $@ @for TEST in `ls $(top_srcdir)/tests/buffer/tests/*.c | sed -e s:$(top_srcdir)/tests/buffer/tests/:: -e s:\\\.c::`; do \ echo "#define TESTNAME $$TEST" >> $@;\ echo "#define TEST() static gchar * TESTNAME (void)" >> $@;\ echo "#include \"tests/"$$TEST".c\"" >> $@;\ echo "#undef TESTNAME" >> $@;\ echo "#undef TEST" >> $@;\ done; @echo 'typedef gchar *(*TestFunc) ();TestFunc tests[]={' >> $@ @for TEST in `ls $(top_srcdir)/tests/buffer/tests/*.c | sed -e s:$(top_srcdir)/tests/buffer/tests/:: -e s:\\\.c::`; do \ echo $$TEST, >> $@;\ done; @echo '};' >> $@ @echo 'static gchar *test_names[]={' >> $@ @for TEST in `ls $(top_srcdir)/tests/buffer/tests/*.c | sed -e s:$(top_srcdir)/tests/buffer/tests/:: -e s:\\\.c::`; do \ echo \"$$TEST\", >> $@;\ done; @echo '};' >> $@ builddir_gegl_env = GEGL_SWAP=RAM GEGL_PATH=$(top_builddir)/operations buffer-tests-report: buffer-test$(EXEEXT) $(top_srcdir)/tests/buffer/reference/*.buf @mkdir -p output > /dev/null 2>&1 $(builddir_gegl_env) ./buffer-test$(EXEEXT) for f in $(top_srcdir)/tests/buffer/reference/*.buf; do LC_ALL=C diff --report-identical-files --context=50 $$f output/`basename $$f`; done > buffer-tests-report; true clean-local: rm -rf output # Don't forget to clean CLEANFILES = buffer-tests.inc buffer-tests-report