From a619d349bf4eceaad73973278c42afadc3bf9a58 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 26 May 2017 11:31:26 +0200 Subject: [PATCH] add convenience script to run all tests at once Signed-off-by: Arthur Schiwon --- apps/user_ldap/tests/Integration/run-all.sh | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 apps/user_ldap/tests/Integration/run-all.sh diff --git a/apps/user_ldap/tests/Integration/run-all.sh b/apps/user_ldap/tests/Integration/run-all.sh new file mode 100755 index 0000000000..02bab97e45 --- /dev/null +++ b/apps/user_ldap/tests/Integration/run-all.sh @@ -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"