From ce502054ad03cfea3851f09ed227fdf0d619f39b Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 4 May 2022 13:53:15 +0100 Subject: [PATCH] test: Install GNOME-style installed-tests metadata This allows these tests to be discovered and run by gnome-desktop-test-runner. Signed-off-by: Simon McVittie --- test/CMakeLists.txt | 9 +++++++++ test/Makefile.in | 15 +++++++++++++-- test/template.test.in | 3 +++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 test/template.test.in diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 0a7b8a12c..e81ead76f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -429,6 +429,15 @@ foreach(TESTCASE ${NONINTERACTIVE} ${NEEDS_AUDIO} ${NEEDS_DISPLAY}) ${TESTCASE} PROPERTIES ENVIRONMENT "${TESTS_ENVIRONMENT}" ) + if(SDL_INSTALL_TESTS) + set(exe ${TESTCASE}) + set(installedtestsdir "${CMAKE_INSTALL_FULL_LIBEXECDIR}/installed-tests/SDL2") + configure_file(template.test.in "${exe}.test" @ONLY) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${exe}.test" + DESTINATION ${CMAKE_INSTALL_DATADIR}/installed-tests/SDL2 + ) + endif() endforeach() if(SDL_INSTALL_TESTS) diff --git a/test/Makefile.in b/test/Makefile.in index d14e07358..8fce76e61 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -88,13 +88,24 @@ TARGETS = \ @OPENGLES2_TARGETS@ += testgles2$(EXE) -all: Makefile $(TARGETS) copydatafiles +all: Makefile $(TARGETS) copydatafiles generatetestmeta installedtestsdir = $(libexecdir)/installed-tests/SDL2 +installedtestsmetadir = $(datadir)/installed-tests/SDL2 + +generatetestmeta: + rm -f *.test + set -e; for exe in $(noninteractive) $(needs_audio) $(needs_display); do \ + sed \ + -e 's#@installedtestsdir@#$(installedtestsdir)#g' \ + -e "s#@exe@#$$exe#g" \ + < $(srcdir)/template.test.in > $$exe.test; \ + done install: all install -D -t $(DESTDIR)$(installedtestsdir) $(TARGETS) install -m644 -D -t $(DESTDIR)$(installedtestsdir) $(DATA) + install -m644 -D -t $(DESTDIR)$(installedtestsmetadir) *.test Makefile: $(srcdir)/Makefile.in $(SHELL) config.status $@ @@ -362,7 +373,7 @@ testmouse$(EXE): $(srcdir)/testmouse.c clean: - rm -f $(TARGETS) + rm -f $(TARGETS) *.test distclean: clean rm -f Makefile diff --git a/test/template.test.in b/test/template.test.in new file mode 100644 index 000000000..e1ac063fd --- /dev/null +++ b/test/template.test.in @@ -0,0 +1,3 @@ +[Test] +Type=session +Exec=@installedtestsdir@/@exe@