From 16960b1ff460bdb0bce1290b3bc6d8b8f9d2bf34 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Wed, 24 Apr 2024 11:45:50 -0400 Subject: [PATCH] Add test to guacamole-server. Check '-v' output (version) and then run a daemon on localhost and check that it says 'Listening'. --- guacamole-server.yaml | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/guacamole-server.yaml b/guacamole-server.yaml index 5541c232df..8e76d89cbc 100644 --- a/guacamole-server.yaml +++ b/guacamole-server.yaml @@ -92,6 +92,68 @@ subpackages: pipeline: - uses: split/dev +test: + environment: + contents: + packages: + - busybox + pipeline: + - name: "check -v output" + runs: | + guacd -v >out 2>&1 || { + rc=$? + echo "failed [$rc]: guacd -v" + cat out + exit $rc + } + expected="version ${{package.version}}" + grep "$expected" out || { + echo "command 'guacd -v' did not contain expected output" + echo "expected: $expected" + echo "actual:" + cat out + exit 1 + } + - name: "start daemon on localhost" + runs: | + set -- guacd -b 127.0.0.1 -L info -p my.pid -f + "$@" >out 2>&1 & + kpid=$! + n=0 + while [ $n -lt 60 ] && sleep 1; do + n=$((n+1)) + [ -e my.pid ] && break + done + [ -e my.pid ] || { echo "my.pid did not exist after $n seconds"; exit 1; } + read pid < my.pid + [ "$kpid" = "$pid" ] || { + echo "pid from shell ($kpid) != pid from pidfile ($pid)"; + exit 1; + } + + n=0 + expected="istening on host" + while [ $n -lt 10 ] && sleep 1; do + n=$((n+1)) + grep -q "$expected" out && break + done + grep -q "$expected" out || { + echo "output did not contain expected output after $n seconds: $expected " + cat "$out" + exit 1 + } + + expected="Guacamole proxy daemon.*version ${{package.version}}" + grep "$expected" out || { + echo "command '$*' did not contain expected output" + echo "expected: $expected" + echo "actual:" + cat out + exit 1 + } + + kill $pid + update: enabled: true release-monitor: