add convenience script to run all tests at once

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2017-05-26 11:31:26 +02:00
parent f11d998371
commit a619d349bf
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,34 @@
#!/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"