summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/clutter-1.0.suppressions (renamed from tests/data/clutter-1.0.suppressions)0
-rw-r--r--tests/conform/ADDING_NEW_TESTS65
-rw-r--r--tests/conform/Makefile.am345
-rwxr-xr-xtests/conform/run-tests.sh12
-rw-r--r--tests/conform/scripts/test-animator-1.json (renamed from tests/data/test-animator-1.json)0
-rw-r--r--tests/conform/scripts/test-animator-2.json (renamed from tests/data/test-animator-2.json)0
-rw-r--r--tests/conform/scripts/test-animator-3.json (renamed from tests/data/test-animator-3.json)0
-rw-r--r--tests/conform/scripts/test-script-animation.json (renamed from tests/data/test-script-animation.json)0
-rw-r--r--tests/conform/scripts/test-script-child.json (renamed from tests/data/test-script-child.json)0
-rw-r--r--tests/conform/scripts/test-script-implicit-alpha.json (renamed from tests/data/test-script-implicit-alpha.json)0
-rw-r--r--tests/conform/scripts/test-script-interval.json (renamed from tests/data/test-script-interval.json)0
-rw-r--r--tests/conform/scripts/test-script-layout-property.json (renamed from tests/data/test-script-layout-property.json)0
-rw-r--r--tests/conform/scripts/test-script-margin.json (renamed from tests/data/test-script-margin.json)0
-rw-r--r--tests/conform/scripts/test-script-model.json (renamed from tests/data/test-script-model.json)0
-rw-r--r--tests/conform/scripts/test-script-named-object.json (renamed from tests/data/test-script-named-object.json)0
-rw-r--r--tests/conform/scripts/test-script-object-property.json (renamed from tests/data/test-script-object-property.json)0
-rw-r--r--tests/conform/scripts/test-script-single.json (renamed from tests/data/test-script-single.json)0
-rw-r--r--tests/conform/scripts/test-script-timeline-markers.json (renamed from tests/data/test-script-timeline-markers.json)0
-rw-r--r--tests/conform/scripts/test-state-1.json (renamed from tests/data/test-state-1.json)0
-rw-r--r--tests/conform/test-conform-common.c105
-rw-r--r--tests/conform/test-conform-common.h52
-rw-r--r--tests/conform/test-conform-main.c217
-rwxr-xr-xtests/conform/test-launcher.sh.in25
-rw-r--r--tests/data/Makefile.am39
-rw-r--r--tests/data/light0.pngbin5674 -> 0 bytes
-rw-r--r--tests/data/redhand_alpha.pngbin4539 -> 0 bytes
-rw-r--r--tests/interactive/Makefile.am9
-rw-r--r--tests/interactive/redhand.png (renamed from tests/data/redhand.png)bin8250 -> 8250 bytes
-rw-r--r--tests/interactive/test-script-signals.json (renamed from tests/data/test-script-signals.json)0
-rw-r--r--tests/interactive/test-script.json (renamed from tests/data/test-script.json)0
-rw-r--r--tests/interactive/test-state-script.c2
32 files changed, 46 insertions, 829 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8526b39fe..65b474a49 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,3 +1,3 @@
-SUBDIRS = accessibility data conform interactive micro-bench performance
+SUBDIRS = accessibility conform interactive micro-bench performance
-EXTRA_DIST = README
+EXTRA_DIST = README clutter-1.0.suppressions
diff --git a/tests/data/clutter-1.0.suppressions b/tests/clutter-1.0.suppressions
index f47498d16..f47498d16 100644
--- a/tests/data/clutter-1.0.suppressions
+++ b/tests/clutter-1.0.suppressions
diff --git a/tests/conform/ADDING_NEW_TESTS b/tests/conform/ADDING_NEW_TESTS
deleted file mode 100644
index 4a5a5dc5f..000000000
--- a/tests/conform/ADDING_NEW_TESTS
+++ /dev/null
@@ -1,65 +0,0 @@
-How to add new units to the Clutter Conformance test suite
--------------------------------------------------------------------------------
-
-If the new unit is not logically part of an existing file, you should create a
-new source file and add it to the build. The built files are listed in the
-Makefile.am template. Please, respect the sections already available there.
-
-When creating a new file, you should include "test-conform-common.h", as well
-as <clutter/clutter.h> and <glib.h>.
-
-Each new test unit should be contained in a function named following this
-pattern:
-
- void
- <section>_<unit> (void)
- {
- }
-
-For instance:
-
- void
- actor_allocation_changes (void)
- {
- /* test allocation changes */
- }
-
- void
- rectangle_border (void)
- {
- /* test ClutterRectangle's border property */
- }
-
-After adding the test unit, edit test-conform-main.c and add the unit to the
-list of tests, by using one of these three macros:
-
- • TEST_CONFORM_SIMPLE (path, function_name);
-
- @path is the unit path in the suite, and it's used to generate the
- executable wrapper for running the unit as a stand-alone binary
- and for the HTML report.
- @function_name is the name of the function containing the newly added
- test unit.
-
- This is the simple form of test unit, and it will always be run.
-
- • TEST_CONFORM_SKIP (condition, path, function_name);
-
- @condition is used to decide whether to run the unit or not.
-
- This macro will check @condition on start, and if it evaluates to TRUE
- then the @function_name will be called and the unit executed; otherwise
- the test will automatically succeed.
-
- • TEST_CONFORM_TODO (path, function_name);
-
- This macro will execute @function_name and will succeed if the unit
- fails. This macro should be used for tests that are known to fail.
-
-Notes:
-
- • Do not call clutter_init() in your units; initialization is handled
- by the conformance test suite itself.
-
- • All units are invoked in a new process, to prevent clobbering the
- state.
diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am
index 90f1f35b1..d0497d196 100644
--- a/tests/conform/Makefile.am
+++ b/tests/conform/Makefile.am
@@ -1,314 +1,43 @@
-include $(top_srcdir)/build/autotools/Makefile.am.silent
-
-NULL =
-
-BUILT_SOURCES =
-
-TESTS =
-check_PROGRAMS =
-check_SCRIPTS =
-
-EXTRA_DIST =
-DISTCLEANFILES =
-
-TEST_PROGS =
-
-# the common sources
-common_sources = \
- test-conform-common.h \
- test-conform-common.c \
- test-conform-main.c \
- $(NULL)
-
-# the unit-specific sources; please: keep all sections in alphabetical order!
-units_sources =
-
-# animation tests
-units_sources += \
- animator.c \
- behaviours.c \
- score.c \
- state.c \
- timeline.c \
- timeline-interpolate.c \
- timeline-progress.c \
- timeline-rewind.c \
- $(NULL)
-
-# actors tests
-units_sources += \
- actor-anchors.c \
- actor-graph.c \
- actor-destroy.c \
- actor-invariants.c \
- actor-iter.c \
- actor-layout.c \
- actor-meta.c \
- actor-offscreen-redirect.c \
- actor-offscreen-limit-max-size.c\
- actor-paint-opacity.c \
- actor-pick.c \
- actor-shader-effect.c \
- actor-size.c \
- binding-pool.c \
- cairo-texture.c \
- group.c \
- interval.c \
- path.c \
- rectangle.c \
- texture-fbo.c \
- texture.c \
- text-cache.c \
- text.c \
+include $(top_srcdir)/build/autotools/glib-tap.mk
+
+AM_CFLAGS = -g $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
+LDADD = $(top_builddir)/clutter/libclutter-1.0.la $(CLUTTER_LIBS) -lm
+AM_LDFLAGS = -export-dynamic
+AM_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"Clutter-Conform\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ -DCOGL_DISABLE_DEPRECATION_WARNINGS \
+ $(CLUTTER_DEPRECATED_CFLAGS) \
+ $(CLUTTER_DEBUG_CFLAGS) \
+ $(CLUTTER_PROFILE_CFLAGS)
+
+actor_tests = \
$(NULL)
-# objects tests
-units_sources += \
- color.c \
- model.c \
- script-parser.c \
- units.c \
- $(NULL)
-
-# cally tests
-units_sources += \
- cally-text.c \
+general_tests = \
$(NULL)
-# events tests
-units_sources += \
- events-touch.c \
+deprecated_tests = \
$(NULL)
-if OS_WIN32
-SHEXT =
-else
-SHEXT = $(EXEEXT)
-endif
-
-EXTRA_DIST += ADDING_NEW_TESTS test-launcher.sh.in run-tests.sh
-DISTCLEANFILES += test-launcher.sh .gitignore
-
-# 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: Makefile $(srcdir)/test-conform-main.c
- @mkdir -p wrappers
- @sed -n \
- -e 's/^ \{1,\}TEST_CONFORM_SIMPLE *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \
- -e 's/^ \{1,\}TEST_CONFORM_SKIP *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \
- -e 's/^ \{1,\}TEST_CONFORM_TODO *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \
- $(srcdir)/test-conform-main.c > unit-tests
- @chmod +x test-launcher.sh
- @( echo "/stamp-test-conformance" ; \
- echo "/test-conformance" ; \
- echo "*.o" ; \
- echo "*.xml" ; \
- echo "*.html" ; \
- echo "*.test" ; \
- echo ".gitignore" ; \
- echo "test-suite.log" ; \
- echo "unit-tests" ; \
- echo "/wrappers/" ) > .gitignore
- @for i in `cat unit-tests`; \
- do \
- unit=`basename $$i | sed -e s/_/-/g`; \
- echo " GEN $$unit"; \
- ( echo "#!/bin/sh" ; echo "$(abs_builddir)/test-launcher.sh '$$i' \"\$$@\"" ) > $$unit$(SHEXT) ; \
- ( echo "#!/bin/sh" ; echo "exec $(abs_builddir)/test-conformance$(EXEEXT) -p $$i \"\$$@\"" ) > wrappers/$$unit$(SHEXT) ; \
- ( echo "test-conformance-clutter$(EXEEXT) -p $$i" ) > $(top_builddir)/build/win32/$$unit-clutter.bat ; \
- ( echo "test-conformance-clutter$(EXEEXT) -p $$i" ) >> $(top_builddir)/build/win32/test-conformance-clutter.bat ; \
- chmod +x $$unit$(SHEXT); \
- chmod +x wrappers/$$unit$(SHEXT); \
- echo "/$$unit$(SHEXT)" >> .gitignore; \
- done \
- && echo timestamp > $(@F)
-
-clean-wrappers:
- @if test -f "unit-tests"; then \
- for i in `cat unit-tests`; \
- do \
- unit=`basename $$i | sed -e s/_/-/g`; \
- echo " RM $$unit"; \
- rm -f $$unit$(SHEXT) ; \
- rm -f wrappers/$$unit$(SHEXT) ; \
- done \
- fi \
- && rm -rf wrappers \
- && rm -f unit-tests \
- && rm -f $(top_builddir)/build/win32/*.bat \
- && rm -f stamp-test-conformance
-
-test_conformance_CPPFLAGS = \
- -DG_DISABLE_SINGLE_INCLUDES \
- -DCOGL_ENABLE_EXPERIMENTAL_API \
- -DG_DISABLE_DEPRECATION_WARNINGS \
- -DCOGL_DISABLE_DEPRECATION_WARNINGS \
- -DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
- -DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\" \
- -I$(top_srcdir) \
- -I$(top_builddir) \
- -I$(top_srcdir)/clutter \
- -I$(top_builddir)/clutter
-
-test_conformance_CFLAGS = -g $(CLUTTER_CFLAGS)
-test_conformance_LDADD = $(top_builddir)/clutter/libclutter-@CLUTTER_API_VERSION@.la $(CLUTTER_LIBS) -lm
-test_conformance_LDFLAGS = -export-dynamic
-test_conformance_SOURCES = $(common_sources) $(units_sources)
-
-if OS_WIN32
-TESTS += test-conformance
-endif
-
-TEST_PROGS += test-conformance
-check_PROGRAMS += test-conformance
-check_SCRIPTS += wrappers
-
-test: wrappers
- @export G_TEST_SRCDIR="$(abs_srcdir)" ; \
- export G_TEST_BUILDDIR="$(abs_builddir)" ; \
- $(top_srcdir)/tests/conform/run-tests.sh \
- ./test-conformance$(EXEEXT) -o test-report.xml
-
-test-verbose: wrappers
- @export G_TEST_SRCDIR="$(abs_srcdir)" ; \
- export G_TEST_BUILDDIR="$(abs_builddir)" ; \
- $(top_srcdir)/tests/conform/run-tests.sh \
- ./test-conformance$(EXEEXT) -o test-report.xml --verbose
-
-.PHONY: test
-.PHONY: test-report perf-report full-report
-
-check-local: test
-
-GTESTER = gtester
-GTESTER_REPORT = gtester-report
-
-# test-report: run tests and generate report
-# perf-report: run tests with -m perf and generate report
-# full-report: like test-report: with -m perf and -m slow
-test-report perf-report full-report: ${TEST_PROGS}
- @test -z "${TEST_PROGS}" || { \
- export GTESTER_LOGDIR=`mktemp -d "$(srcdir)/.testlogs-XXXXXX"` ; \
- if test -d "$(top_srcdir)/.git"; then \
- export REVISION="`git describe`" ; \
- else \
- export REVISION="$(VERSION) $(CLUTTER_RELEASE_STATUS)" ; \
- fi ; \
- export TIMESTAMP=`date +%Y-%m-%dT%H:%M:%S%z` ; \
- case $@ in \
- test-report) test_options="-k";; \
- perf-report) test_options="-k -m=perf";; \
- full-report) test_options="-k -m=perf -m=slow";; \
- esac ; \
- export G_TEST_SRCDIR="$(abs_srcdir)" ; \
- export G_TEST_BUILDDIR="$(abs_builddir)" ; \
- $(top_srcdir)/tests/conform/run-tests.sh \
- ./test-conformance$(EXEEXT) \
- --verbose \
- $$test_options \
- -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ; \
- echo '<?xml version="1.0"?>' > $@.xml ; \
- echo '<report-collection>' >> $@.xml ; \
- echo '<info>' >> $@.xml ; \
- echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
- echo ' <version>$(VERSION)</version>' >> $@.xml ; \
- echo " <revision>$$REVISION</revision>" >> $@.xml ; \
- echo " <date>$$TIMESTAMP</date>" >> $@.xml ; \
- echo '</info>' >> $@.xml ; \
- for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
- sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
- done ; \
- echo >> $@.xml ; \
- echo '</report-collection>' >> $@.xml ; \
- ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
- rm -rf "$$GTESTER_LOGDIR" ; \
- }
-
-XML_REPORTS = \
- test-report.xml \
- perf-report.xml \
- full-report.xml \
- test-report-npot.xml \
- perf-report-npot.xml \
- full-report-npot.xml
-
-HTML_REPORTS = \
- test-report.html \
- perf-report.html \
- full-report.html \
- test-report-npot.html \
- perf-report-npot.html \
- full-report-npot.html
-
-dist-hook: $(top_builddir)/build/win32/vs9/test-conformance-clutter.vcproj $(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj $(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj.filters
-
-$(top_builddir)/build/win32/vs9/test-conformance-clutter.vcproj: $(top_srcdir)/build/win32/vs9/test-conformance-clutter.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-clutter.vcprojin >$@
- rm -f testconformance.sourcefiles
-
-$(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj: $(top_srcdir)/build/win32/vs10/test-conformance-clutter.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-clutter.vcxprojin >$@
- rm -f testconformance.vs10.sourcefiles
-
-$(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj.filters: $(top_srcdir)/build/win32/vs10/test-conformance-clutter.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-clutter.vcxproj.filtersin > $@
- rm -f testconformance.vs10.sourcefiles.filters
-
-# Let the VS9/VS10 Project files be cleared out before they are re-expanded...
-DISTCLEANFILES += \
- $(top_builddir)/build/win32/vs9/test-conformance-clutter.vcproj \
- $(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj \
- $(top_builddir)/build/win32/vs10/test-conformance-clutter.vcxproj.filters
-
-# we override the clean-generic target to clean up the wrappers so
-# we cannot use CLEANFILES
-clean-generic: clean-wrappers clean-tests
- $(QUIET_RM)rm -f $(XML_REPORTS) $(HTML_REPORTS)
-
-if ENABLE_INSTALLED_TESTS
-# installed tests
-insttestdir = $(libexecdir)/installed-tests/$(PACKAGE)/conform
-insttest_PROGRAMS = test-conformance
-
-testmetadir = $(datadir)/installed-tests/$(PACKAGE)
-testmeta_DATA = $(wildcard *.test)
-
-BUILT_SOURCES += tests
-endif
-
-.PHONY: tests clean-tests
-
-tests: stamp-test-conformance
- @for i in `cat unit-tests`; do \
- unit=`basename $$i | sed -e s/_/-/g`; \
- echo " GEN $$unit"; \
- echo "[Test]" > $$unit.test; \
- echo "Type=session" >> $$unit.test; \
- echo "Exec=$(libexecdir)/installed-tests/$(PACKAGE)/conform/test-conformance -p $$i" >> $$unit.test; \
- done
-
-clean-tests:
- $(QUIET_RM) rm -f *.test
+test_programs = $(actor_tests) $(general_tests) $(deprecated_tests)
+
+dist_test_data = $(script_ui_files)
+script_ui_files = $(addprefix scripts/,$(script_tests))
+script_tests = \
+ test-animator-1.json \
+ test-animator-2.json \
+ test-animator-3.json \
+ test-script-animation.json \
+ test-script-child.json \
+ test-script-implicit-alpha.json \
+ test-script-interval.json \
+ test-script-layout-property.json \
+ test-script-margin.json \
+ test-script-model.json \
+ test-script-named-object.json \
+ test-script-object-property.json \
+ test-script-single.json \
+ test-script-timeline-markers.json \
+ test-state-1.json
diff --git a/tests/conform/run-tests.sh b/tests/conform/run-tests.sh
deleted file mode 100755
index 03f5a7af3..000000000
--- a/tests/conform/run-tests.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-BINARY=$1
-shift
-
-TMP=`./$BINARY -l -m thorough | grep '^/' | sed -e s/_/-/g`
-for i in $TMP
-do
- TESTS="$TESTS wrappers/`basename $i`"
-done
-
-G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$((${RANDOM:-256} % 256)) gtester "$@" $TESTS
diff --git a/tests/data/test-animator-1.json b/tests/conform/scripts/test-animator-1.json
index 2d6aab908..2d6aab908 100644
--- a/tests/data/test-animator-1.json
+++ b/tests/conform/scripts/test-animator-1.json
diff --git a/tests/data/test-animator-2.json b/tests/conform/scripts/test-animator-2.json
index 9059f57ed..9059f57ed 100644
--- a/tests/data/test-animator-2.json
+++ b/tests/conform/scripts/test-animator-2.json
diff --git a/tests/data/test-animator-3.json b/tests/conform/scripts/test-animator-3.json
index 26d779bee..26d779bee 100644
--- a/tests/data/test-animator-3.json
+++ b/tests/conform/scripts/test-animator-3.json
diff --git a/tests/data/test-script-animation.json b/tests/conform/scripts/test-script-animation.json
index d6ef90343..d6ef90343 100644
--- a/tests/data/test-script-animation.json
+++ b/tests/conform/scripts/test-script-animation.json
diff --git a/tests/data/test-script-child.json b/tests/conform/scripts/test-script-child.json
index 5e8ac5242..5e8ac5242 100644
--- a/tests/data/test-script-child.json
+++ b/tests/conform/scripts/test-script-child.json
diff --git a/tests/data/test-script-implicit-alpha.json b/tests/conform/scripts/test-script-implicit-alpha.json
index 5aab70d3d..5aab70d3d 100644
--- a/tests/data/test-script-implicit-alpha.json
+++ b/tests/conform/scripts/test-script-implicit-alpha.json
diff --git a/tests/data/test-script-interval.json b/tests/conform/scripts/test-script-interval.json
index 35fe5c22c..35fe5c22c 100644
--- a/tests/data/test-script-interval.json
+++ b/tests/conform/scripts/test-script-interval.json
diff --git a/tests/data/test-script-layout-property.json b/tests/conform/scripts/test-script-layout-property.json
index 17e9f4882..17e9f4882 100644
--- a/tests/data/test-script-layout-property.json
+++ b/tests/conform/scripts/test-script-layout-property.json
diff --git a/tests/data/test-script-margin.json b/tests/conform/scripts/test-script-margin.json
index 1f5289fa6..1f5289fa6 100644
--- a/tests/data/test-script-margin.json
+++ b/tests/conform/scripts/test-script-margin.json
diff --git a/tests/data/test-script-model.json b/tests/conform/scripts/test-script-model.json
index 9bd6aefc5..9bd6aefc5 100644
--- a/tests/data/test-script-model.json
+++ b/tests/conform/scripts/test-script-model.json
diff --git a/tests/data/test-script-named-object.json b/tests/conform/scripts/test-script-named-object.json
index 7210321c9..7210321c9 100644
--- a/tests/data/test-script-named-object.json
+++ b/tests/conform/scripts/test-script-named-object.json
diff --git a/tests/data/test-script-object-property.json b/tests/conform/scripts/test-script-object-property.json
index 18a02fb8b..18a02fb8b 100644
--- a/tests/data/test-script-object-property.json
+++ b/tests/conform/scripts/test-script-object-property.json
diff --git a/tests/data/test-script-single.json b/tests/conform/scripts/test-script-single.json
index e20a318df..e20a318df 100644
--- a/tests/data/test-script-single.json
+++ b/tests/conform/scripts/test-script-single.json
diff --git a/tests/data/test-script-timeline-markers.json b/tests/conform/scripts/test-script-timeline-markers.json
index f5fff5c42..f5fff5c42 100644
--- a/tests/data/test-script-timeline-markers.json
+++ b/tests/conform/scripts/test-script-timeline-markers.json
diff --git a/tests/data/test-state-1.json b/tests/conform/scripts/test-state-1.json
index 78ab5de89..78ab5de89 100644
--- a/tests/data/test-state-1.json
+++ b/tests/conform/scripts/test-state-1.json
diff --git a/tests/conform/test-conform-common.c b/tests/conform/test-conform-common.c
deleted file mode 100644
index 881a6b1cd..000000000
--- a/tests/conform/test-conform-common.c
+++ /dev/null
@@ -1,105 +0,0 @@
-#include "config.h"
-
-#include <clutter/clutter.h>
-#include <stdlib.h>
-
-#ifdef CLUTTER_WINDOWING_X11
-#include <X11/Xlib.h>
-#include <clutter/x11/clutter-x11.h>
-#endif
-
-#include "test-conform-common.h"
-
-/**
- * test_conform_simple_fixture_setup:
- *
- * Initialise stuff before each test is run
- */
-void
-test_conform_simple_fixture_setup (TestConformSimpleFixture *fixture,
- gconstpointer data)
-{
- const TestConformSharedState *shared_state = data;
- static int counter = 0;
-
- if (counter != 0)
- g_critical ("We don't support running more than one test at a time\n"
- "in a single test run due to the state leakage that often\n"
- "causes subsequent tests to fail.\n"
- "\n"
- "If you want to run all the tests you should run\n"
- "$ make test-report");
- counter++;
-
-#ifdef CLUTTER_WINDOWING_X11
- if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
- {
- /* on X11 we need a display connection to run the test suite */
- const gchar *display = g_getenv ("DISPLAY");
- if (!display || *display == '\0')
- {
- g_print ("No DISPLAY found. Unable to run the conformance "
- "test suite without a display.\n");
-
- exit (EXIT_SUCCESS);
- }
-
- /* enable XInput support */
- clutter_x11_enable_xinput ();
- }
-#endif
-
- g_assert (clutter_init (shared_state->argc_addr, shared_state->argv_addr)
- == CLUTTER_INIT_SUCCESS);
-
-#ifdef CLUTTER_WINDOWING_X11
- /* A lot of the tests depend on a specific stage / framebuffer size
- * when they read pixels back to verify the results of the test.
- *
- * Normally the asynchronous nature of X means that setting the
- * clutter stage size may really happen an indefinite amount of time
- * later but since the tests are so short lived and may only render
- * a single frame this is not an acceptable semantic.
- */
- if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
- XSynchronize (clutter_x11_get_default_display(), TRUE);
-#endif
-}
-
-
-/**
- * test_conform_simple_fixture_teardown:
- *
- * Cleanup stuff after each test has finished
- */
-void
-test_conform_simple_fixture_teardown (TestConformSimpleFixture *fixture,
- gconstpointer data)
-{
- /* const TestConformSharedState *shared_state = data; */
-}
-
-void
-test_conform_get_gl_functions (TestConformGLFunctions *functions)
-{
- functions->glGetString = (void *) cogl_get_proc_address ("glGetString");
- g_assert (functions->glGetString != NULL);
- functions->glGetIntegerv = (void *) cogl_get_proc_address ("glGetIntegerv");
- g_assert (functions->glGetIntegerv != NULL);
- functions->glPixelStorei = (void *) cogl_get_proc_address ("glPixelStorei");
- g_assert (functions->glPixelStorei != NULL);
- functions->glBindTexture = (void *) cogl_get_proc_address ("glBindTexture");
- g_assert (functions->glBindTexture != NULL);
- functions->glGenTextures = (void *) cogl_get_proc_address ("glGenTextures");
- g_assert (functions->glGenTextures != NULL);
- functions->glGetError = (void *) cogl_get_proc_address ("glGetError");
- g_assert (functions->glGetError != NULL);
- functions->glDeleteTextures =
- (void *) cogl_get_proc_address ("glDeleteTextures");
- g_assert (functions->glDeleteTextures != NULL);
- functions->glTexImage2D = (void *) cogl_get_proc_address ("glTexImage2D");
- g_assert (functions->glTexImage2D != NULL);
- functions->glTexParameteri =
- (void *) cogl_get_proc_address ("glTexParameteri");
- g_assert (functions->glTexParameteri != NULL);
-}
diff --git a/tests/conform/test-conform-common.h b/tests/conform/test-conform-common.h
deleted file mode 100644
index f2d50dedd..000000000
--- a/tests/conform/test-conform-common.h
+++ /dev/null
@@ -1,52 +0,0 @@
-
-/* Stuff you put in here is setup once in main() and gets passed around to
- * all test functions and fixture setup/teardown functions in the data
- * argument */
-typedef struct _TestConformSharedState
-{
- int *argc_addr;
- char ***argv_addr;
-} TestConformSharedState;
-
-
-/* This fixture structure is allocated by glib, and before running each test
- * the test_conform_simple_fixture_setup func (see below) is called to
- * initialise it, and test_conform_simple_fixture_teardown is called when
- * the test is finished. */
-typedef struct _TestConformSimpleFixture
-{
- /**/
- int dummy;
-} TestConformSimpleFixture;
-
-typedef struct _TestConformTodo
-{
- gchar *name;
- void (* func) (TestConformSimpleFixture *, gconstpointer);
-} TestConformTodo;
-
-typedef struct _TestConformGLFunctions
-{
- const guint8 * (* glGetString) (guint name);
- void (* glGetIntegerv) (guint pname, int *params);
- void (* glPixelStorei) (guint pname, int param);
- void (* glBindTexture) (guint target, guint texture);
- void (* glGenTextures) (int n, guint *textures);
- guint (* glGetError) (void);
- void (* glDeleteTextures) (int n, const guint *textures);
- void (* glTexImage2D) (guint target, int level,
- int internalFormat,
- int width, int height,
- int border, guint format, guint type,
- const void *pixels);
- void (* glTexParameteri) (guint target, guint pname, int param);
-} TestConformGLFunctions;
-
-void test_conform_get_gl_functions (TestConformGLFunctions *functions);
-
-void test_conform_simple_fixture_setup (TestConformSimpleFixture *fixture,
- gconstpointer data);
-void test_conform_simple_fixture_teardown (TestConformSimpleFixture *fixture,
- gconstpointer data);
-
-gchar *clutter_test_get_data_file (const gchar *filename);
diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c
deleted file mode 100644
index 00cc1c628..000000000
--- a/tests/conform/test-conform-main.c
+++ /dev/null
@@ -1,217 +0,0 @@
-#include "config.h"
-
-#include <clutter/clutter.h>
-
-#include <glib.h>
-#include <locale.h>
-#include <stdlib.h>
-
-#include "test-conform-common.h"
-
-static void
-test_conform_skip_test (TestConformSimpleFixture *fixture,
- gconstpointer data)
-{
- /* void */
-}
-
-void
-verify_failure (TestConformSimpleFixture *fixture,
- gconstpointer data)
-{
- g_assert (FALSE);
-}
-
-static TestConformSharedState *shared_state = NULL;
-
-/* This is a bit of sugar for adding new conformance tests:
- *
- * - It adds an extern function definition just to save maintaining a header
- * that lists test entry points.
- * - It sets up callbacks for a fixture, which lets us share initialization
- * *code* between tests. (see test-conform-common.c)
- * - It passes in a shared *data* pointer that is initialised once in main(),
- * that gets passed to the fixture setup and test functions. (See the
- * definition in test-conform-common.h)
- */
-#define TEST_CONFORM_SIMPLE(NAMESPACE, FUNC) G_STMT_START { \
- extern void FUNC (TestConformSimpleFixture *, gconstpointer); \
- g_test_add ("/conform" NAMESPACE "/" #FUNC, \
- TestConformSimpleFixture, \
- shared_state, /* data argument for test */ \
- test_conform_simple_fixture_setup, \
- FUNC, \
- test_conform_simple_fixture_teardown); } G_STMT_END
-
-/* this is a macro that conditionally executes a test if CONDITION
- * evaluates to TRUE; otherwise, it will put the test under the
- * "/skipped" namespace and execute a dummy function that will always
- * pass.
- */
-#define TEST_CONFORM_SKIP(CONDITION, NAMESPACE, FUNC) G_STMT_START { \
- if (CONDITION) { TEST_CONFORM_SIMPLE (NAMESPACE, FUNC); } \
- else { \
- g_test_add ("/skipped" NAMESPACE "/" #FUNC, \
- TestConformSimpleFixture, \
- shared_state, /* data argument for test */ \
- test_conform_simple_fixture_setup, \
- test_conform_skip_test, \
- test_conform_simple_fixture_teardown); \
- } } G_STMT_END
-
-gchar *
-clutter_test_get_data_file (const gchar *filename)
-{
- return g_test_build_filename (G_TEST_DIST, "..", "data", filename, NULL);
-}
-
-static void
-clutter_test_init (gint *argc,
- gchar ***argv)
-{
- /* Turning of sync-to-vblank removes a dependency on the specifics of the
- * test environment. It also means that the timeline-only tests are
- * throttled to a reasonable frame rate rather than running in tight
- * infinite loop.
- */
- g_setenv ("CLUTTER_VBLANK", "none", FALSE);
-
- g_test_init (argc, argv, NULL);
-
- g_test_bug_base ("http://bugzilla.gnome.org/show_bug.cgi?id=%s");
-
- /* Initialise the state you need to share with everything.
- */
- shared_state = g_new0 (TestConformSharedState, 1);
- shared_state->argc_addr = argc;
- shared_state->argv_addr = argv;
-}
-
-int
-main (int argc, char **argv)
-{
- clutter_test_init (&argc, &argv);
-
- /* This file is run through a sed script during the make step so the
- lines containing the tests need to be formatted on a single line
- each. To comment out a test use the SKIP macro. Using
- #if 0 would break the script. */
-
- TEST_CONFORM_SIMPLE ("/actor", actor_add_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_insert_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_raise_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_lower_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_replace_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_remove_child);
- TEST_CONFORM_SIMPLE ("/actor", actor_remove_all);
- TEST_CONFORM_SIMPLE ("/actor", actor_container_signals);
- TEST_CONFORM_SIMPLE ("/actor", actor_destruction);
- TEST_CONFORM_SIMPLE ("/actor", actor_anchors);
- TEST_CONFORM_SIMPLE ("/actor", actor_pick);
- TEST_CONFORM_SIMPLE ("/actor", actor_fixed_size);
- TEST_CONFORM_SIMPLE ("/actor", actor_preferred_size);
- TEST_CONFORM_SIMPLE ("/actor", actor_basic_layout);
- TEST_CONFORM_SIMPLE ("/actor", actor_margin_layout);
- TEST_CONFORM_SIMPLE ("/actor", actor_offscreen_redirect);
- TEST_CONFORM_SIMPLE ("/actor", actor_offscreen_limit_max_size);
- TEST_CONFORM_SIMPLE ("/actor", actor_shader_effect);
-
- TEST_CONFORM_SIMPLE ("/actor/iter", actor_iter_traverse_children);
- TEST_CONFORM_SIMPLE ("/actor/iter", actor_iter_traverse_remove);
- TEST_CONFORM_SIMPLE ("/actor/iter", actor_iter_assignment);
-
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_initial_state);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_shown_not_parented);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_visibility_not_recursive);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_realized);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_realize_not_recursive);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_map_recursive);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_mapped);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_show_on_set_parent);
- TEST_CONFORM_SIMPLE ("/actor/invariants", clone_no_map);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_contains);
- TEST_CONFORM_SIMPLE ("/actor/invariants", default_stage);
- TEST_CONFORM_SIMPLE ("/actor/invariants", actor_pivot_transformation);
-
- TEST_CONFORM_SIMPLE ("/actor/meta", actor_meta_clear);
-
- TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_label);
- TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_rectangle);
- TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_paint);
-
- TEST_CONFORM_SIMPLE ("/text", text_utf8_validation);
- TEST_CONFORM_SIMPLE ("/text", text_set_empty);
- TEST_CONFORM_SIMPLE ("/text", text_set_text);
- TEST_CONFORM_SIMPLE ("/text", text_append_some);
- TEST_CONFORM_SIMPLE ("/text", text_prepend_some);
- TEST_CONFORM_SIMPLE ("/text", text_insert);
- TEST_CONFORM_SIMPLE ("/text", text_delete_chars);
- TEST_CONFORM_SIMPLE ("/text", text_delete_text);
- TEST_CONFORM_SIMPLE ("/text", text_cursor);
- TEST_CONFORM_SIMPLE ("/text", text_event);
- TEST_CONFORM_SIMPLE ("/text", text_get_chars);
- TEST_CONFORM_SIMPLE ("/text", text_cache);
- TEST_CONFORM_SIMPLE ("/text", text_password_char);
- TEST_CONFORM_SIMPLE ("/text", text_idempotent_use_markup);
-
- TEST_CONFORM_SIMPLE ("/rectangle", rectangle_set_size);
- TEST_CONFORM_SIMPLE ("/rectangle", rectangle_set_color);
-
- TEST_CONFORM_SKIP (g_test_slow (), "/texture", texture_pick_with_alpha);
- TEST_CONFORM_SKIP (g_test_slow (), "/texture", texture_fbo);
- TEST_CONFORM_SKIP (g_test_slow (), "/texture/cairo", texture_cairo);
-
- TEST_CONFORM_SIMPLE ("/interval", interval_initial_state);
- TEST_CONFORM_SIMPLE ("/interval", interval_transform);
-
- TEST_CONFORM_SIMPLE ("/path", path_base);
-
- TEST_CONFORM_SIMPLE ("/binding-pool", binding_pool);
-
- TEST_CONFORM_SIMPLE ("/model", list_model_populate);
- TEST_CONFORM_SIMPLE ("/model", list_model_iterate);
- TEST_CONFORM_SIMPLE ("/model", list_model_filter);
- TEST_CONFORM_SIMPLE ("/model", list_model_from_script);
- TEST_CONFORM_SIMPLE ("/model", list_model_row_changed);
-
- TEST_CONFORM_SIMPLE ("/color", color_from_string_valid);
- TEST_CONFORM_SIMPLE ("/color", color_from_string_invalid);
- TEST_CONFORM_SIMPLE ("/color", color_to_string);
- TEST_CONFORM_SIMPLE ("/color", color_hls_roundtrip);
- TEST_CONFORM_SIMPLE ("/color", color_operators);
-
- TEST_CONFORM_SIMPLE ("/units", units_constructors);
- TEST_CONFORM_SIMPLE ("/units", units_string);
- TEST_CONFORM_SIMPLE ("/units", units_cache);
-
- TEST_CONFORM_SIMPLE ("/group", group_depth_sorting);
-
- TEST_CONFORM_SIMPLE ("/script", script_single);
- TEST_CONFORM_SIMPLE ("/script", script_child);
- TEST_CONFORM_SIMPLE ("/script", script_implicit_alpha);
- TEST_CONFORM_SIMPLE ("/script", script_object_property);
- TEST_CONFORM_SIMPLE ("/script", script_animation);
- TEST_CONFORM_SIMPLE ("/script", script_named_object);
- TEST_CONFORM_SIMPLE ("/script", script_layout_property);
- TEST_CONFORM_SIMPLE ("/script", animator_base);
- TEST_CONFORM_SIMPLE ("/script", animator_properties);
- TEST_CONFORM_SIMPLE ("/script", animator_multi_properties);
- TEST_CONFORM_SIMPLE ("/script", state_base);
- TEST_CONFORM_SIMPLE ("/script", script_margin);
- TEST_CONFORM_SIMPLE ("/script", script_interval);
-
- TEST_CONFORM_SKIP (g_test_slow (), "/timeline", timeline_base);
- TEST_CONFORM_SIMPLE ("/timeline", timeline_markers_from_script);
- TEST_CONFORM_SKIP (g_test_slow (), "/timeline", timeline_interpolation);
- TEST_CONFORM_SKIP (g_test_slow (), "/timeline", timeline_rewind);
- TEST_CONFORM_SIMPLE ("/timeline", timeline_progress_mode);
- TEST_CONFORM_SIMPLE ("/timeline", timeline_progress_step);
-
- TEST_CONFORM_SIMPLE ("/score", score_base);
-
- TEST_CONFORM_SIMPLE ("/behaviours", behaviours_base);
-
- TEST_CONFORM_SIMPLE ("/events", events_touch);
-
- return g_test_run ();
-}
diff --git a/tests/conform/test-launcher.sh.in b/tests/conform/test-launcher.sh.in
deleted file mode 100755
index 0be13bda5..000000000
--- a/tests/conform/test-launcher.sh.in
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-UNIT_TEST_PATH=$1
-shift
-
-test -z ${UNIT_TEST_PATH} && {
- echo "Usage: $0 /path/to/unit_test"
- exit 1
-}
-
-UNIT_TEST=`basename ${UNIT_TEST_PATH}`
-
-echo "Running: ./test-conformance -p ${UNIT_TEST_PATH} $@"
-echo ""
-@abs_builddir@/test-conformance -p ${UNIT_TEST_PATH} "$@"
-
-echo ""
-echo "NOTE: For debugging purposes, you can run this single test as follows:"
-echo "$ libtool --mode=execute \\"
-echo " gdb --eval-command=\"b ${UNIT_TEST}\" \\"
-echo " --args ./test-conformance -p ${UNIT_TEST_PATH}"
-echo "or:"
-echo "$ env G_SLICE=always-malloc \\"
-echo " libtool --mode=execute \\"
-echo " valgrind ./test-conformance -p ${UNIT_TEST_PATH}"
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
deleted file mode 100644
index 4e6878e88..000000000
--- a/tests/data/Makefile.am
+++ /dev/null
@@ -1,39 +0,0 @@
-NULL =
-EXTRA_DIST =
-
-json_files = \
- test-script-animation.json \
- test-script-child.json \
- test-script-layout-property.json \
- test-script-implicit-alpha.json \
- test-script.json \
- test-script-named-object.json \
- test-script-object-property.json \
- test-script-signals.json \
- test-script-single.json \
- test-script-model.json \
- test-animator-1.json \
- test-animator-2.json \
- test-animator-3.json \
- test-state-1.json \
- test-script-timeline-markers.json \
- test-script-margin.json \
- test-script-interval.json \
- $(NULL)
-
-EXTRA_DIST += $(json_files)
-
-png_files = \
- redhand.png \
- redhand_alpha.png \
- light0.png \
- $(NULL)
-
-EXTRA_DIST += $(png_files)
-
-if ENABLE_INSTALLED_TESTS
-insttestdir = $(libexecdir)/installed-tests/$(PACKAGE)/data
-insttest_DATA = $(json_files) $(png_files)
-endif
-
-EXTRA_DIST += clutter-1.0.suppressions
diff --git a/tests/data/light0.png b/tests/data/light0.png
deleted file mode 100644
index 66871ddb3..000000000
--- a/tests/data/light0.png
+++ /dev/null
Binary files differ
diff --git a/tests/data/redhand_alpha.png b/tests/data/redhand_alpha.png
deleted file mode 100644
index 4270765ed..000000000
--- a/tests/data/redhand_alpha.png
+++ /dev/null
Binary files differ
diff --git a/tests/interactive/Makefile.am b/tests/interactive/Makefile.am
index 8e87edf44..8bea2bcad 100644
--- a/tests/interactive/Makefile.am
+++ b/tests/interactive/Makefile.am
@@ -148,7 +148,7 @@ test_interactive_SOURCES = test-main.c $(UNIT_TESTS)
nodist_test_interactive_SOURCES = test-unit-names.h
test_interactive_CFLAGS = $(CLUTTER_CFLAGS) $(GDK_PIXBUF_CFLAGS)
test_interactive_CPPFLAGS = \
- -DTESTS_DATADIR=\""$(abs_top_srcdir)/tests/data"\" \
+ -DTESTS_DATADIR=\""$(abs_srcdir)"\" \
-DG_DISABLE_SINGLE_INCLUDES \
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
@@ -161,8 +161,11 @@ test_interactive_LDFLAGS = -export-dynamic
test_interactive_LDADD = $(CLUTTER_LIBS) $(GDK_PIXBUF_LIBS) $(common_ldadd) -lm
EXTRA_DIST = \
- wrapper.sh.in \
- $(top_builddir)/build/win32/test-unit-names.h
+ wrapper.sh.in \
+ $(top_builddir)/build/win32/test-unit-names.h \
+ test-script.json \
+ test-script-signals.json \
+ redhand.png
DISTCLEANFILES = wrapper.sh .gitignore test-unit-names.h
diff --git a/tests/data/redhand.png b/tests/interactive/redhand.png
index c07d8acd3..c07d8acd3 100644
--- a/tests/data/redhand.png
+++ b/tests/interactive/redhand.png
Binary files differ
diff --git a/tests/data/test-script-signals.json b/tests/interactive/test-script-signals.json
index 0d3f6bd25..0d3f6bd25 100644
--- a/tests/data/test-script-signals.json
+++ b/tests/interactive/test-script-signals.json
diff --git a/tests/data/test-script.json b/tests/interactive/test-script.json
index 54d4fb457..54d4fb457 100644
--- a/tests/data/test-script.json
+++ b/tests/interactive/test-script.json
diff --git a/tests/interactive/test-state-script.c b/tests/interactive/test-state-script.c
index e777d89bc..34b1b8789 100644
--- a/tests/interactive/test-state-script.c
+++ b/tests/interactive/test-state-script.c
@@ -4,7 +4,7 @@
#include <clutter/clutter.h>
-#define TEST_STATE_SCRIPT_FILE TESTS_DATADIR G_DIR_SEPARATOR_S "test-script-signals.json"
+#define TEST_STATE_SCRIPT_FILE "test-script-signals.json"
gboolean
on_button_press (ClutterActor *actor,