# 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.la

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

mutter_test_unit_tests_SOURCES = tests/unit-tests.c
mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter.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.la

noinst_PROGRAMS += testboxes
