# A framework for running scripted tests

if HAVE_WAYLAND

if BUILDOPT_INSTALL_TESTS
stackingdir = $(pkgdatadir)/tests/stacking
dist_stacking_DATA =				\
	tests/stacking/basic-x11.metatest	\
	tests/stacking/basic-wayland.metatest	\
	tests/stacking/minimized.metatest   	\
	tests/stacking/mixed-windows.metatest   \
	tests/stacking/set-parent.metatest	\
	tests/stacking/override-redirect.metatest

mutter-all.test: tests/mutter-all.test.in
	$(AM_V_GEN) sed  -e "s|@libexecdir[@]|$(libexecdir)|g"  $< > $@.tmp && mv $@.tmp $@

installedtestsdir = $(datadir)/installed-tests/mutter
installedtests_DATA = mutter-all.test

installedtestsbindir = $(libexecdir)/installed-tests/mutter
installedtestsbin_PROGRAMS = mutter-test-client mutter-test-runner mutter-test-unit-tests
else
noinst_PROGRAMS += mutter-test-client mutter-test-runner mutter-test-unit-tests
endif

EXTRA_DIST += tests/mutter-all.test.in

mutter_test_client_SOURCES = tests/test-client.c
mutter_test_client_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la

mutter_test_runner_SOURCES = tests/test-runner.c
mutter_test_runner_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la

mutter_test_unit_tests_SOURCES = \
	tests/unit-tests.c \
	tests/meta-backend-test.c \
	tests/meta-backend-test.h \
	tests/meta-monitor-manager-test.c \
	tests/meta-monitor-manager-test.h \
	tests/monitor-store-unit-tests.c \
	tests/monitor-store-unit-tests.h \
	tests/monitor-test-utils.c \
	tests/monitor-test-utils.h \
	tests/monitor-unit-tests.c \
	tests/monitor-unit-tests.h \
	$(NULL)
mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la

.PHONY: run-tests run-test-runner-tests run-unit-tests

run-test-runner-tests: mutter-test-client mutter-test-runner
	./mutter-test-runner $(dist_stacking_DATA)

run-unit-tests: mutter-test-unit-tests
	./mutter-test-unit-tests

run-tests: run-test-runner-tests run-unit-tests

endif

# Some random test programs for bits of the code

testboxes_SOURCES = core/testboxes.c
testboxes_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la

noinst_PROGRAMS += testboxes
