workflows: Install and run GNOME-style installed-tests
This is currently only done for the Linux Autotools build. The CMake build does not add a significant amount of extra test coverage, and Github Workflows run in an environment where `cmake` and `sudo cmake` point to different executables, which makes it awkward to install into /usr/local from CMake. Signed-off-by: Simon McVittie <smcv@collabora.com>main
parent
ce502054ad
commit
c244bbc515
|
@ -39,6 +39,7 @@ jobs:
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install \
|
sudo apt-get install \
|
||||||
autoconf \
|
autoconf \
|
||||||
|
gnome-desktop-testing \
|
||||||
wayland-protocols \
|
wayland-protocols \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
ninja-build \
|
ninja-build \
|
||||||
|
@ -85,7 +86,7 @@ jobs:
|
||||||
run: ./test/versioning.sh
|
run: ./test/versioning.sh
|
||||||
- name: Configure CMake
|
- name: Configure CMake
|
||||||
if: "! matrix.platform.autotools"
|
if: "! matrix.platform.autotools"
|
||||||
run: cmake -B build -DSDL_TEST=ON -DCMAKE_VERBOSE_MAKEFILE=ON ${{ matrix.platform.flags }}
|
run: cmake -B build -DSDL_TEST=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DSDL_INSTALL_TESTS=ON ${{ matrix.platform.flags }}
|
||||||
- name: Build
|
- name: Build
|
||||||
if: "! matrix.platform.autotools"
|
if: "! matrix.platform.autotools"
|
||||||
run: cmake --build build/ --config Release
|
run: cmake --build build/ --config Release
|
||||||
|
@ -147,5 +148,23 @@ jobs:
|
||||||
rm -fr DESTDIR-autotools
|
rm -fr DESTDIR-autotools
|
||||||
mkdir DESTDIR-autotools
|
mkdir DESTDIR-autotools
|
||||||
make -j"${parallel}" -C build-autotools install DESTDIR="${curdir}/DESTDIR-autotools" V=1
|
make -j"${parallel}" -C build-autotools install DESTDIR="${curdir}/DESTDIR-autotools" V=1
|
||||||
|
make -j"${parallel}" -C build-autotools/test install DESTDIR="${curdir}/DESTDIR-autotools" V=1
|
||||||
( cd DESTDIR-autotools; find ) | LC_ALL=C sort -u
|
( cd DESTDIR-autotools; find ) | LC_ALL=C sort -u
|
||||||
make -j"${parallel}" -C build-autotools dist V=1
|
make -j"${parallel}" -C build-autotools dist V=1
|
||||||
|
- name: Run installed-tests from Autotools
|
||||||
|
if: "runner.os == 'Linux' && matrix.platform.autotools"
|
||||||
|
run: |
|
||||||
|
set -eu
|
||||||
|
parallel="$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
sudo make -j"${parallel}" -C build-autotools install
|
||||||
|
sudo make -j"${parallel}" -C build-autotools/test install
|
||||||
|
export SDL_TESTS_QUICK=1
|
||||||
|
# We need to set LD_LIBRARY_PATH because it isn't in the default
|
||||||
|
# linker search path. We don't need to set XDG_DATA_DIRS for
|
||||||
|
# ginsttest-runner, because /usr/local/share *is* in the default
|
||||||
|
# search path for that.
|
||||||
|
env --chdir=/ \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib \
|
||||||
|
SDL_AUDIODRIVER=dummy \
|
||||||
|
SDL_VIDEODRIVER=dummy \
|
||||||
|
ginsttest-runner --tap SDL2
|
||||||
|
|
Loading…
Reference in New Issue