35 lines
959 B
Bash
35 lines
959 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
trigger_notification() {
|
||
|
which notify-send 1>/dev/null
|
||
|
if [[ $? == 1 ]] ; then
|
||
|
return
|
||
|
fi
|
||
|
export NOTIFY_USER=$SUDO_USER
|
||
|
export RESULT_STR=$1
|
||
|
# does not work. just pipe result into a non-sudo cmd
|
||
|
su "$NOTIFY_USER" -c "notify-send -u normal -t 43200000 -a Nextcloud -i Nextcloud \"LDAP Integration tests $RESULT_STR\""
|
||
|
}
|
||
|
|
||
|
FILES_ROOT=($(ls -d -p Lib/* | grep -v "/$"))
|
||
|
FILES_USER=($(ls -d -p Lib/User/* | grep -v "/$"))
|
||
|
# TODO: Loop through dirs (and subdirs?) once there are more
|
||
|
TESTFILES=("${FILES_ROOT[@]}" "${FILES_USER[@]}")
|
||
|
|
||
|
TESTCMD="./run-test.sh"
|
||
|
|
||
|
echo "Running " ${#TESTFILES[@]} " tests"
|
||
|
for TESTFILE in "${TESTFILES[@]}" ; do
|
||
|
echo -n "Test: $TESTFILE… "
|
||
|
STATE=`$TESTCMD "$TESTFILE" | grep -c "Tests succeeded"`
|
||
|
if [ "$STATE" -eq 0 ] ; then
|
||
|
echo "failed!"
|
||
|
trigger_notification "failed"
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "succeeded"
|
||
|
done
|
||
|
|
||
|
echo -e "\nAll tests succeeded"
|
||
|
trigger_notification "succeeded"
|