diff --git a/test/dbus-session.sh b/test/dbus-session.sh index df2c9a47..d4c6a970 100755 --- a/test/dbus-session.sh +++ b/test/dbus-session.sh @@ -31,15 +31,24 @@ trap atexit EXIT # e-addressbook/calendar-factory. # # Similar for DBUS_SESSION_SH_AKONADI, except that we rely on akonadictl -# and don't run it under valgrind. +# and don't run it under valgrind. We also don't start it for test-dbus.py, +# because starting it with "normal" XDG env variables and trying to +# connect to it with XDG env set in test-dbus.py failed: +# libakonadi Akonadi::SessionPrivate::init: Akonadi Client Session: connection config file ' akonadi/akonadiconnectionrc can not be found in ' "/data/runtests/work/lucid-amd64/build/src/temp-test-dbus/config" ' nor in any of ("/etc/xdg", "/etc") +# E_CAL_PID= E_BOOK_PID= case "$@" in *valgrind*) prefix=`echo $@ | perl -p -e 's;.*?(\S*/?valgrind\S*).*;$1;'`;; *syncevolution\ *|*client-test\ *|*test-dbus.py\ *|*gdb\ *) prefix=env;; *) prefix=;; # don't start EDS esac -if [ "$DBUS_SESSION_SH_AKONADI" ] && [ "$prefix" ]; then +akonadi=$prefix +case "$@" in *test-dbus.py\ *) akonadi=;; +esac + +if [ "$DBUS_SESSION_SH_AKONADI" ] && [ "$akonadi" ]; then akonadictl start + SLEEP=5 else DBUS_SESSION_SH_AKONADI= fi @@ -50,11 +59,13 @@ if [ "$DBUS_SESSION_SH_EDS_BASE" ] && [ "$prefix" ]; then E_BOOK_PID=$! # give daemons some time to start and register with D-Bus - sleep 5 + SLEEP=5 else DBUS_SESSION_SH_EDS_BASE= fi +sleep $SLEEP + # run program "$@" res=$?