32 lines
1.2 KiB
Bash
Executable file
32 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Vérifie le démarrage Sway + GTK installés comme greeter, sans VT ni login réel.
|
|
set -eu
|
|
[ "$(id -u)" -eq 0 ] || { echo 'Exécuter comme root' >&2; exit 1; }
|
|
runtime=$(mktemp -d)
|
|
chown greeter:greeter "$runtime"
|
|
chmod 0700 "$runtime"
|
|
set +e
|
|
timeout --signal=TERM --kill-after=2s 10s \
|
|
runuser -u greeter -- env XDG_RUNTIME_DIR="$runtime" \
|
|
WLR_BACKENDS=headless WLR_RENDERER=pixman GREETD_SOCK="$runtime/unused" \
|
|
/usr/local/libexec/labfy-greeter/start-compositor >"$runtime/smoke.log" 2>&1 &
|
|
runner=$!
|
|
sleep 3
|
|
if pgrep -u greeter -f '^/usr/bin/python3 /usr/local/libexec/labfy-greeter/labfy_greeter.py$' >/dev/null; then
|
|
gtk_started=yes
|
|
else
|
|
gtk_started=no
|
|
fi
|
|
wait "$runner"
|
|
result=$?
|
|
set -e
|
|
if [ "$gtk_started" = yes ] && { [ "$result" -eq 124 ] || [ "$result" -eq 137 ]; } && \
|
|
! pgrep -u greeter -f '^/usr/bin/python3 /usr/local/libexec/labfy-greeter/labfy_greeter.py$' >/dev/null; then
|
|
echo 'HEADLESS_GREETER_SMOKE=PASS (GTK actif, arrêt contrôlé, aucun processus résiduel)'
|
|
else
|
|
cat "$runtime/smoke.log" >&2
|
|
echo "HEADLESS_GREETER_SMOKE=FAIL gtk=$gtk_started exit=$result" >&2
|
|
rm -rf -- "$runtime"
|
|
exit 1
|
|
fi
|
|
rm -rf -- "$runtime"
|