2995f77bd0
While the commonly used Weston launchers are weston-launch and launcher-logind, the direct backend was used in CI out of convenience, and due to logind being a bit cumbersome to get to work in a CI environment. The new libseat launcher can be used with seatd as well as logind. seatd is easy to start in a CI environment, allowing us to test the libseat launcher codepath instead of the less user relevant direct launcher. This also prepares us for the future intended removal of non-libseat launchers. Signed-off-by: Kenny Levinsen <kl@kl.wtf>
36 lines
1.1 KiB
Bash
Executable File
36 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# folders that are necessary to run Weston tests
|
|
mkdir -p /tmp/tests
|
|
mkdir -p /tmp/.X11-unix
|
|
chmod -R 0700 /tmp
|
|
|
|
# set environment variables to run Weston tests
|
|
export XDG_RUNTIME_DIR=/tmp/tests
|
|
export WESTON_TEST_SUITE_DRM_DEVICE=card0
|
|
export LIBSEAT_BACKEND=seatd
|
|
|
|
# ninja test depends on meson, and meson itself looks for its modules on folder
|
|
# $HOME/.local/lib/pythonX.Y/site-packages (the Python version may differ).
|
|
# virtme starts with HOME=/tmp/roothome, but as we installed meson on user root,
|
|
# meson can not find its modules. So we change the HOME env var to fix that.
|
|
export HOME=/root
|
|
|
|
# start seatd and wait for its socket to be available before running the test
|
|
/usr/local/bin/seatd &
|
|
while ! [ -e /run/seatd.sock ]; do sleep 0.1; done
|
|
|
|
# run the tests and save the exit status
|
|
ninja test
|
|
TEST_RES=$?
|
|
|
|
# create a file to keep the result of this script:
|
|
# - 0 means the script succeeded
|
|
# - 1 means the tests failed, so the job itself should fail
|
|
TESTS_RES_PATH=$(pwd)/tests-res.txt
|
|
echo $TEST_RES > $TESTS_RES_PATH
|
|
|
|
# shutdown virtme
|
|
sync
|
|
poweroff -f
|