include $(top_srcdir)/build/autotools/Makefile.am.silent NULL = noinst_PROGRAMS = test-conformance test_conformance_SOURCES = \ test-conform-main.c \ test-conform-common.c \ test-conform-common.h \ \ test-timeline-interpolate.c \ test-timeline-rewind.c \ test-timeline.c \ test-cogl-vertex-buffer-contiguous.c \ test-cogl-vertex-buffer-interleved.c \ test-cogl-vertex-buffer-mutability.c \ test-cogl-fixed.c \ test-cogl-backface-culling.c \ test-cogl-npot-texture.c \ test-cogl-blend-strings.c \ test-cogl-premult.c \ test-cogl-materials.c \ test-cogl-viewport.c \ test-cogl-offscreen.c \ test-cogl-readpixels.c \ test-cogl-multitexture.c \ test-cogl-texture-mipmaps.c \ test-cogl-texture-rectangle.c \ test-cogl-wrap-modes.c \ test-cogl-pixel-buffer.c \ test-cogl-path.c \ test-path.c \ test-pick.c \ test-clutter-rectangle.c \ test-actor-invariants.c \ test-paint-opacity.c \ test-binding-pool.c \ test-clutter-text.c \ test-clutter-cairo-texture.c \ test-text-cache.c \ test-anchors.c \ test-model.c \ test-color.c \ test-clutter-units.c \ test-group.c \ test-actor-size.c \ test-texture-fbo.c \ test-cogl-sub-texture.c \ test-script-parser.c \ test-actor-destroy.c \ test-behaviours.c \ test-animator.c \ test-state.c \ test-clutter-texture.c \ $(NULL) # For convenience, this provides a way to easily run individual unit tests: .PHONY: wrappers clean-wrappers UNIT_TESTS = `./test-conformance -l -m thorough | $(GREP) '^/'` wrappers: stamp-test-conformance @true stamp-test-conformance: test-conformance$(EXEEXT) @mkdir -p wrappers @for i in $(UNIT_TESTS); \ do \ unit=`basename $$i | sed -e s/_/-/g`; \ echo " GEN $$unit"; \ ( echo "#!/bin/sh" ; echo "$(top_srcdir)/tests/conform/test-launcher.sh '$$i' \"\$$@\"" ) > $$unit$(EXEEXT) ; \ ( echo "#!/bin/sh" ; echo "exec ./test-conformance$(EXEEXT) -p $$i \"\$$@\"" ) > wrappers/$$unit$(EXEEXT) ; \ chmod +x $$unit$(EXEEXT); \ chmod +x wrappers/$$unit$(EXEEXT); \ done \ && echo timestamp > $(@F) clean-wrappers: @for i in $(UNIT_TESTS); \ do \ unit=`basename $$i | sed -e s/_/-/g`; \ echo " RM $$unit"; \ rm -f $$unit$(EXEEXT) ; \ rm -f wrappers/$$unit$(EXEEXT) ; \ done \ && rm -f stamp-test-conformance # NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting # a phony rule that will generate symlink scripts for running individual tests BUILT_SOURCES = wrappers INCLUDES = \ -I$(top_srcdir)/ \ -I$(top_srcdir)/clutter \ -I$(top_srcdir)/clutter/cogl \ -I$(top_builddir)/clutter \ -I$(top_builddir)/clutter/cogl test_conformance_CPPFLAGS = \ -DG_DISABLE_SINGLE_INCLUDES \ -DCOGL_ENABLE_EXPERIMENTAL_API \ -DCOGL_DISABLE_DEPRECATED \ -DCLUTTER_DISABLE_DEPRECATED \ -DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\" test_conformance_CFLAGS = -g $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) test_conformance_LDADD = $(top_builddir)/clutter/libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la $(CLUTTER_LIBS) test_conformance_LDFLAGS = -rdynamic .PHONY: test .PHONY: test-report test-report-normal test-report-disable-npots .PHONY: full-report full-report-normal full-report-disable-npots .PHONY: full-report-generate test: wrappers @$(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results.xml test-verbose: wrappers @$(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results.xml --verbose test-report-normal: wrappers @$(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results.xml -k \ && ( gtester-report test-conformance-results.xml \ | sed 's/>GTester Unit Test ReportGTester Unit Test Report (normal) test-conformance-results.html ) \ && gnome-open ./test-conformance-results.html test-report-disable-npots: wrappers @../tools/disable-npots.sh \ $(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results-dn.xml -k \ && ( gtester-report test-conformance-results-dn.xml \ | sed 's/>GTester Unit Test ReportGTester Unit Test Report (no NPOTs) test-conformance-results-dn.html ) \ && gnome-open ./test-conformance-results-dn.html test-report: test-report-normal full-report-normal: wrappers @$(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results.xml -k -m=slow \ && ( gtester-report test-conformance-results.xml \ | sed 's/>GTester Unit Test ReportGTester Unit Test Report (normal) test-conformance-results.html ) full-report-disable-npots: wrappers @../tools/disable-npots.sh \ $(top_srcdir)/tests/conform/run-tests.sh \ ./test-conformance$(EXEEXT) test-conformance-results-dn.xml -k -m=slow \ && ( gtester-report test-conformance-results-dn.xml \ | sed 's/>GTester Unit Test ReportGTester Unit Test Report (no NPOTs) test-conformance-results-dn.html ) XML_REPORTS = test-conformance-results.xml HTML_REPORTS = test-conformance-results.html if HAVE_LIBDL XML_REPORTS += test-conformance-results-dn.xml HTML_REPORTS += test-conformance-results-dn.html full-report-generate: full-report-normal full-report-disable-npots else full-report-generate: full-report-normal endif full-report: full-report-generate @for x in $(HTML_REPORTS); do \ gnome-open "$$x"; \ done EXTRA_DIST = ADDING_NEW_TESTS test-launcher.sh run-tests.sh # we override the clean-generic target to clean up the wrappers so # we cannot use CLEANFILES clean-generic: clean-wrappers $(QUIET_RM)rm -f $(XML_REPORTS) $(HTML_REPORTS)