2011-05-05 18:34:38 -04:00
|
|
|
include $(top_srcdir)/build/autotools/Makefile.am.silent
|
|
|
|
|
|
|
|
NULL =
|
|
|
|
|
|
|
|
noinst_PROGRAMS = test-conformance
|
|
|
|
|
|
|
|
common_sources = \
|
|
|
|
test-conform-main.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
unported_test_sources = \
|
|
|
|
test-fixed.c \
|
|
|
|
test-materials.c \
|
|
|
|
test-viewport.c \
|
|
|
|
test-multitexture.c \
|
|
|
|
test-npot-texture.c \
|
|
|
|
test-object.c \
|
|
|
|
test-readpixels.c \
|
|
|
|
test-texture-mipmaps.c \
|
|
|
|
test-texture-pixmap-x11.c \
|
|
|
|
test-texture-rectangle.c \
|
|
|
|
test-vertex-buffer-contiguous.c \
|
|
|
|
test-vertex-buffer-interleved.c \
|
|
|
|
test-vertex-buffer-mutability.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
test_sources = \
|
2012-05-16 07:57:32 -04:00
|
|
|
test-atlas-migration.c \
|
2011-10-02 04:22:43 -04:00
|
|
|
test-blend-strings.c \
|
2013-05-22 14:49:05 -04:00
|
|
|
test-blend.c \
|
2011-05-05 18:34:38 -04:00
|
|
|
test-depth-test.c \
|
2013-05-14 16:26:30 -04:00
|
|
|
test-color-hsl.c \
|
2011-09-15 08:12:27 -04:00
|
|
|
test-color-mask.c \
|
2011-09-19 10:24:36 -04:00
|
|
|
test-backface-culling.c \
|
2011-10-01 03:07:36 -04:00
|
|
|
test-just-vertex-shader.c \
|
2011-10-01 05:04:32 -04:00
|
|
|
test-pipeline-user-matrix.c \
|
2011-11-03 13:28:01 -04:00
|
|
|
test-pipeline-uniforms.c \
|
2012-02-25 16:00:55 -05:00
|
|
|
test-pixel-buffer.c \
|
2012-04-02 18:41:54 -04:00
|
|
|
test-premult.c \
|
2011-11-17 11:52:50 -05:00
|
|
|
test-snippets.c \
|
2011-10-12 12:12:08 -04:00
|
|
|
test-wrap-modes.c \
|
2011-10-28 14:10:01 -04:00
|
|
|
test-sub-texture.c \
|
2011-12-02 05:55:41 -05:00
|
|
|
test-custom-attributes.c \
|
2012-01-28 08:19:01 -05:00
|
|
|
test-offscreen.c \
|
2012-02-06 08:30:08 -05:00
|
|
|
test-primitive.c \
|
2012-02-09 12:54:07 -05:00
|
|
|
test-texture-3d.c \
|
2012-02-09 15:36:14 -05:00
|
|
|
test-sparse-pipeline.c \
|
2012-02-29 16:43:01 -05:00
|
|
|
test-read-texture-formats.c \
|
2012-02-29 19:40:34 -05:00
|
|
|
test-write-texture-formats.c \
|
2012-03-06 18:14:27 -05:00
|
|
|
test-point-size.c \
|
2012-11-08 11:56:02 -05:00
|
|
|
test-point-size-attribute.c \
|
2012-03-06 18:36:45 -05:00
|
|
|
test-point-sprite.c \
|
2012-03-23 14:05:46 -04:00
|
|
|
test-no-gl-header.c \
|
2012-04-23 09:09:19 -04:00
|
|
|
test-version.c \
|
2012-04-19 13:48:19 -04:00
|
|
|
test-gles2-context.c \
|
2012-05-17 17:30:37 -04:00
|
|
|
test-euler-quaternion.c \
|
2012-05-24 07:54:43 -04:00
|
|
|
test-layer-remove.c \
|
2012-10-01 09:46:24 -04:00
|
|
|
test-alpha-test.c \
|
2012-10-17 16:40:26 -04:00
|
|
|
test-map-buffer-range.c \
|
2012-11-09 11:28:53 -05:00
|
|
|
test-npot-texture.c \
|
2012-11-19 12:28:53 -05:00
|
|
|
test-alpha-textures.c \
|
2012-12-10 13:11:28 -05:00
|
|
|
test-wrap-rectangle-textures.c \
|
2012-11-21 17:12:54 -05:00
|
|
|
test-texture-get-set-data.c \
|
2012-12-13 10:27:52 -05:00
|
|
|
test-framebuffer-get-bits.c \
|
2013-02-18 13:13:01 -05:00
|
|
|
test-primitive-and-journal.c \
|
2013-03-09 14:43:46 -05:00
|
|
|
test-copy-replace-texture.c \
|
2013-03-26 08:08:12 -04:00
|
|
|
test-pipeline-cache-unrefs-texture.c \
|
2013-06-11 10:57:37 -04:00
|
|
|
test-texture-no-allocate.c \
|
2013-09-26 07:02:21 -04:00
|
|
|
test-pipeline-shader-state.c \
|
2011-05-05 18:34:38 -04:00
|
|
|
$(NULL)
|
|
|
|
|
2013-04-27 21:42:24 -04:00
|
|
|
if !USING_EMSCRIPTEN
|
|
|
|
# test-fence depends on the glib mainloop so it won't compile if using
|
|
|
|
# emscripten which builds in standalone mode.
|
|
|
|
test_sources += test-fence.c
|
|
|
|
endif
|
|
|
|
|
2013-04-27 22:22:24 -04:00
|
|
|
if BUILD_COGL_PATH
|
|
|
|
test_sources += test-path.c
|
|
|
|
endif
|
|
|
|
|
2011-05-05 18:34:38 -04:00
|
|
|
test_conformance_SOURCES = $(common_sources) $(test_sources)
|
|
|
|
|
|
|
|
if OS_WIN32
|
|
|
|
SHEXT =
|
|
|
|
else
|
|
|
|
SHEXT = $(EXEEXT)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# For convenience, this provides a way to easily run individual unit tests:
|
|
|
|
.PHONY: wrappers clean-wrappers
|
|
|
|
|
|
|
|
wrappers: stamp-test-conformance
|
|
|
|
@true
|
|
|
|
stamp-test-conformance: Makefile $(srcdir)/test-conform-main.c
|
|
|
|
@mkdir -p wrappers
|
2012-02-23 07:30:51 -05:00
|
|
|
@sed -n -e 's/^ \{1,\}ADD_TEST *( *\([a-zA-Z0-9_]\{1,\}\).*/\1/p' $(srcdir)/test-conform-main.c > unit-tests
|
2013-05-30 08:22:22 -04:00
|
|
|
@chmod +x $(top_srcdir)/tests/test-launcher.sh
|
2011-05-05 18:34:38 -04:00
|
|
|
@( echo "/stamp-test-conformance" ; \
|
2012-02-23 07:30:51 -05:00
|
|
|
echo "/test-conformance$(EXEEXT)" ; \
|
2011-05-05 18:34:38 -04:00
|
|
|
echo "*.o" ; \
|
|
|
|
echo ".gitignore" ; \
|
2012-02-23 07:30:51 -05:00
|
|
|
echo "unit-tests" ; ) > .gitignore
|
2011-05-05 18:34:38 -04:00
|
|
|
@for i in `cat unit-tests`; \
|
|
|
|
do \
|
|
|
|
unit=`basename $$i | sed -e s/_/-/g`; \
|
|
|
|
echo " GEN $$unit"; \
|
2013-05-30 08:22:22 -04:00
|
|
|
( echo "#!/bin/sh" ; echo "$(top_srcdir)/tests/test-launcher.sh $(abs_builddir)/test-conformance$(EXEEXT) '' '$$i' \"\$$@\"" ) > $$unit$(SHEXT) ; \
|
2011-05-05 18:34:38 -04:00
|
|
|
chmod +x $$unit$(SHEXT); \
|
|
|
|
echo "/$$unit$(SHEXT)" >> .gitignore; \
|
|
|
|
done \
|
|
|
|
&& echo timestamp > $(@F)
|
|
|
|
|
|
|
|
clean-wrappers:
|
|
|
|
@for i in `cat unit-tests`; \
|
|
|
|
do \
|
|
|
|
unit=`basename $$i | sed -e s/_/-/g`; \
|
|
|
|
echo " RM $$unit"; \
|
|
|
|
rm -f $$unit$(SHEXT) ; \
|
|
|
|
done \
|
|
|
|
&& rm -f unit-tests \
|
|
|
|
&& 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
|
|
|
|
|
2013-01-17 17:56:41 -05:00
|
|
|
AM_CPPFLAGS = \
|
2011-10-28 10:00:54 -04:00
|
|
|
-I$(top_srcdir) \
|
2013-05-30 10:06:24 -04:00
|
|
|
-I$(top_builddir)/cogl \
|
|
|
|
-I$(top_srcdir)/test-fixtures
|
2012-09-24 11:42:44 -04:00
|
|
|
|
|
|
|
if !USE_GLIB
|
2013-01-17 17:56:41 -05:00
|
|
|
AM_CPPFLAGS += -I$(top_builddir)/deps/glib
|
2012-09-24 11:42:44 -04:00
|
|
|
endif
|
2011-05-05 18:34:38 -04:00
|
|
|
|
2013-01-17 17:56:41 -05:00
|
|
|
AM_CPPFLAGS += \
|
2011-05-05 18:34:38 -04:00
|
|
|
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
|
|
|
-DCOGL_DISABLE_DEPRECATED \
|
2013-10-09 08:31:12 -04:00
|
|
|
-DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\"
|
2011-05-05 18:34:38 -04:00
|
|
|
|
|
|
|
test_conformance_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS)
|
2013-04-23 12:40:38 -04:00
|
|
|
test_conformance_LDADD = \
|
|
|
|
$(COGL_DEP_LIBS) \
|
|
|
|
$(top_builddir)/cogl/libcogl.la \
|
|
|
|
$(LIBM)
|
2012-09-16 21:20:10 -04:00
|
|
|
if !USE_GLIB
|
|
|
|
test_conformance_LDADD += $(top_builddir)/deps/glib/libglib.la
|
|
|
|
endif
|
2013-04-27 22:22:24 -04:00
|
|
|
if BUILD_COGL_PATH
|
|
|
|
test_conformance_LDADD += $(top_builddir)/cogl-path/libcogl-path.la
|
|
|
|
endif
|
2011-05-05 18:34:38 -04:00
|
|
|
test_conformance_LDFLAGS = -export-dynamic
|
|
|
|
|
|
|
|
test: wrappers
|
2013-05-30 08:22:22 -04:00
|
|
|
@$(top_srcdir)/tests/run-tests.sh $(abs_builddir)/../config.env $(abs_builddir)/test-conformance$(EXEEXT)
|
2011-05-05 18:34:38 -04:00
|
|
|
|
|
|
|
# XXX: we could prevent the conformance test suite from running
|
|
|
|
# by simply defining this variable conditionally
|
|
|
|
TEST_PROGS = test-conformance
|
|
|
|
|
|
|
|
.PHONY: test
|
|
|
|
|
2013-07-02 08:19:05 -04:00
|
|
|
DISTCLEANFILES = .gitignore
|
2011-05-05 18:34:38 -04:00
|
|
|
|
2011-05-12 05:06:32 -04:00
|
|
|
dist-hook: ../../build/win32/vs9/test-conformance-cogl.vcproj ../../build/win32/vs10/test-conformance-cogl.vcxproj ../../build/win32/vs10/test-conformance-cogl.vcxproj.filters
|
|
|
|
|
|
|
|
../../build/win32/vs9/test-conformance-cogl.vcproj: $(top_srcdir)/build/win32/vs9/test-conformance-cogl.vcprojin
|
|
|
|
for F in $(test_conformance_SOURCES); do \
|
|
|
|
case $$F in \
|
|
|
|
*.c) echo ' <File RelativePath="..\..\..\tests\conform\'$$F'" />' \
|
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
done >testconformance.sourcefiles
|
|
|
|
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/test-conformance-cogl.vcprojin >$@
|
|
|
|
rm testconformance.sourcefiles
|
|
|
|
|
|
|
|
../../build/win32/vs10/test-conformance-cogl.vcxproj: $(top_srcdir)/build/win32/vs10/test-conformance-cogl.vcxprojin
|
|
|
|
for F in $(test_conformance_SOURCES); do \
|
|
|
|
case $$F in \
|
|
|
|
*.c) echo ' <ClCompile Include="..\..\..\tests\conform\'$$F'" />' \
|
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
done >testconformance.vs10.sourcefiles
|
|
|
|
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-conformance-cogl.vcxprojin >$@
|
|
|
|
rm testconformance.vs10.sourcefiles
|
|
|
|
|
|
|
|
../../build/win32/vs10/test-conformance-cogl.vcxproj.filters: $(top_srcdir)/build/win32/vs10/test-conformance-cogl.vcxproj.filtersin
|
|
|
|
for F in $(test_conformance_SOURCES); do \
|
|
|
|
case $$F in \
|
|
|
|
*.c) echo ' <ClCompile Include="..\..\..\tests\conform\'$$F'"><Filter>Sources</Filter></ClCompile>' \
|
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
done >testconformance.vs10.sourcefiles.filters
|
|
|
|
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/test-conformance-cogl.vcxproj.filtersin >$@
|
|
|
|
rm testconformance.vs10.sourcefiles.filters
|
|
|
|
|
|
|
|
# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
|
|
|
|
DISTCLEANFILES += ../../build/win32/vs9/test-conformance-cogl.vcproj \
|
|
|
|
../../build/win32/vs10/test-conformance-cogl.vcxproj \
|
|
|
|
../../build/win32/vs10/test-conformance-cogl.vcxproj.filters
|
|
|
|
|
2011-05-05 18:34:38 -04:00
|
|
|
# we override the clean-generic target to clean up the wrappers so
|
|
|
|
# we cannot use CLEANFILES
|
|
|
|
clean-generic: clean-wrappers
|
2012-03-05 18:24:16 -05:00
|
|
|
$(QUIET_RM)rm -f .log
|
2013-06-23 23:33:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
if ENABLE_INSTALLED_TESTS
|
|
|
|
|
|
|
|
insttestdir = $(libexecdir)/installed-tests/$(PACKAGE)/conform
|
|
|
|
insttest_PROGRAMS = test-conformance
|
|
|
|
insttest_DATA = unit-tests
|
|
|
|
|
|
|
|
testmetadir = $(datadir)/installed-tests/$(PACKAGE)
|
|
|
|
testmeta_DATA = conform.test
|
|
|
|
|
|
|
|
conform.test:
|
|
|
|
echo " GEN $@"; \
|
|
|
|
echo "[Test]" > $@.tmp; \
|
|
|
|
echo "Type=session" >> $@.tmp; \
|
|
|
|
echo "Exec=sh -c \"cd $(libexecdir)/installed-tests/$(PACKAGE)/conform; ../run-tests.sh ../config.env ./test-conformance\"" >> $@.tmp; \
|
|
|
|
mv $@.tmp $@
|
|
|
|
|
|
|
|
CLEANFILES = conform.test
|
|
|
|
|
|
|
|
endif
|