mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2026-06-14 22:48:22 +02:00
We split out some of the check-daemon tests that take a long time to run, and also reduce how long we wait for the daemon to start up. This should make the CI process quicker.
73 lines
1.7 KiB
Bash
Executable file
73 lines
1.7 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# This script is modified from dbus's run-with-temp-session-bus.sh.
|
|
#
|
|
|
|
SCRIPTNAME="$0"
|
|
|
|
die()
|
|
{
|
|
if ! test -z "$DBUS_SESSION_BUS_PID" ; then
|
|
echo "killing message bus "$DBUS_SESSION_BUS_PID >&2
|
|
kill -9 $DBUS_SESSION_BUS_PID
|
|
fi
|
|
echo $SCRIPTNAME: $* >&2
|
|
exit 1
|
|
}
|
|
|
|
## convenient to be able to ctrl+C without leaking the message bus process
|
|
trap 'die "Received SIGINT"' INT
|
|
|
|
unset DBUS_SESSION_BUS_ADDRESS
|
|
unset DBUS_SESSION_BUS_PID
|
|
|
|
echo "Running dbus-launch --sh-syntax" >&2
|
|
|
|
eval `dbus-launch --sh-syntax`
|
|
|
|
if test -z "$DBUS_SESSION_BUS_PID" ; then
|
|
die "Failed to launch message bus for test script to run"
|
|
fi
|
|
|
|
echo "Started bus pid $DBUS_SESSION_BUS_PID at $DBUS_SESSION_BUS_ADDRESS" >&2
|
|
|
|
TEMP_PULSE_DIR=`mktemp -d`
|
|
export PULSE_RUNTIME_PATH=${TEMP_PULSE_DIR}
|
|
|
|
# this script would be called inside src/ directory, so we need to use the correct path.
|
|
# notice that for tests, we don't load ALSA related modules.
|
|
pulseaudio -n \
|
|
--log-target=file:${PWD}/pulse-daemon.log \
|
|
--log-level=debug \
|
|
--load="module-null-sink" \
|
|
--load="module-null-source" \
|
|
--load="module-suspend-on-idle" \
|
|
--load="module-native-protocol-unix" \
|
|
--load="module-cli-protocol-unix" \
|
|
--dl-search-path="$(dirname $SCRIPTNAME)/.libs/" \
|
|
&
|
|
|
|
# wait a few seconds to let the daemon start!
|
|
sleep 2
|
|
|
|
unset DISPLAY
|
|
|
|
EXIT_CODE=0
|
|
|
|
for ONE_TEST in $@; do
|
|
${ONE_TEST} || EXIT_CODE=1
|
|
done
|
|
|
|
# terminate the designated pulseaudio daemon
|
|
pacmd exit
|
|
|
|
wait
|
|
|
|
kill -TERM $DBUS_SESSION_BUS_PID || die "Message bus vanished! should not have happened" && echo "Killed daemon $DBUS_SESSION_BUS_PID" >&2
|
|
|
|
sleep 2
|
|
|
|
## be sure it really died
|
|
kill -9 $DBUS_SESSION_BUS_PID > /dev/null 2>&1 || true
|
|
|
|
exit $EXIT_CODE
|