mutter/tests/conform/Makefile.am
Neil Roberts a12a2e591b Add a conformance test for ClutterCairoTexture
This adds a simple test for ClutterCairoTexture that draws two
rectangles to the cairo surface in an idle callback and then verifies
that they appeared at the right colours in the paint callback. If that
succeeds then the second time the idle callback is invoked it will
replace one of the rectangles with a sub region update and the
following paint callback will again verify the rectangles.
2010-05-11 15:57:12 +01:00

181 lines
5.6 KiB
Makefile

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 \
$(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 Report</>GTester 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 Report</>GTester 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 Report</>GTester 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 Report</>GTester 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)