summaryrefslogtreecommitdiffstats
path: root/tests/scripts/all
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts/all')
-rwxr-xr-xtests/scripts/all117
1 files changed, 117 insertions, 0 deletions
diff --git a/tests/scripts/all b/tests/scripts/all
new file mode 100755
index 0000000..c9528ee
--- /dev/null
+++ b/tests/scripts/all
@@ -0,0 +1,117 @@
+#! /bin/sh
+# $OpenLDAP$
+## This work is part of OpenLDAP Software <http://www.openldap.org/>.
+##
+## Copyright 1998-2022 The OpenLDAP Foundation.
+## All rights reserved.
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted only as authorized by the OpenLDAP
+## Public License.
+##
+## A copy of this license is available in the file LICENSE in the
+## top-level directory of the distribution or, alternatively, at
+## <http://www.OpenLDAP.org/license.html>.
+
+. $SRCDIR/scripts/defines.sh
+
+TB="" TN=""
+if test -t 1 ; then
+ TB=`$SHTOOL echo -e "%B" 2>/dev/null`
+ TN=`$SHTOOL echo -e "%b" 2>/dev/null`
+fi
+
+FAILCOUNT=0
+SKIPCOUNT=0
+SLEEPTIME=10
+
+# check for BSD vs GNU date
+date -j >/dev/null 2>&1
+RC=$?
+if [ $RC -ne 0 ]; then
+ DATEOPT="-d @"
+else
+ DATEOPT="-r "
+fi
+
+echo ">>>>> $(timer) Executing all LDAP tests for $BACKEND"
+
+if [ -n "$NOEXIT" ]; then
+ echo "Result Test" > $TESTWD/results
+fi
+
+for CMD in $SRCDIR/scripts/test*; do
+ case "$CMD" in
+ *~) continue;;
+ *.bak) continue;;
+ *.orig) continue;;
+ *.sav) continue;;
+ *.py) continue;;
+ *) test -f "$CMD" || continue;;
+ esac
+
+ # remove cruft from prior test
+ if test $PRESERVE = yes ; then
+ /bin/rm -rf $TESTDIR/db.*
+ else
+ /bin/rm -rf $TESTDIR
+ fi
+
+ BCMD=`basename $CMD`
+ if [ -x "$CMD" ]; then
+ MSG=">>>>> $(timer) Starting ${TB}$BCMD${TN} for $BACKEND..."
+ [ -n "$TESTINST" ] && echo "$MSG" >&2
+ echo "$MSG"
+ START=`date +%s`
+ if [ -n "$TESTINST" ]; then
+ $CMD 2>&1
+ else
+ $CMD
+ fi
+ RC=$?
+ END=`date +%s`
+
+ if test $RC -eq 0 ; then
+ MSG=">>>>> $(timer) Finished $BCMD for $BACKEND after $(( $END - $START )) seconds."
+ [ -n "$TESTINST" ] && echo "$MSG" >&2
+ echo "$MSG"
+ else
+ MSG=">>>>> $(timer) Failed $BCMD for $BACKEND after $(( $END - $START )) seconds"
+ [ -n "$TESTINST" ] && echo "$MSG" >&2
+ echo "$MSG"
+ FAILCOUNT=`expr $FAILCOUNT + 1`
+
+ if [ -n "$NOEXIT" ]; then
+ echo "Continuing."
+ else
+ echo "(exit $RC)"
+ exit $RC
+ fi
+ fi
+ else
+ MSG=">>>>> $(timer) Skipping ${TB}$BCMD${TN} for $BACKEND."
+ [ -n "$TESTINST" ] && echo "$MSG" >&2
+ echo "$MSG"
+ SKIPCOUNT=`expr $SKIPCOUNT + 1`
+ RC="-"
+ fi
+
+ if [ -n "$NOEXIT" ]; then
+ echo "$RC $BCMD" >> $TESTWD/results
+ fi
+
+# echo ">>>>> waiting $SLEEPTIME seconds for things to exit"
+# sleep $SLEEPTIME
+ echo ""
+done
+
+if [ -n "$NOEXIT" ]; then
+ if [ "$FAILCOUNT" -gt 0 ]; then
+ cat $TESTWD/results
+ echo "$FAILCOUNT tests for $BACKEND ${TB}failed${TN}. Please review the test log."
+ else
+ echo "All executed tests for $BACKEND ${TB}succeeded${TN}."
+ fi
+fi
+
+echo "$SKIPCOUNT tests for $BACKEND were ${TB}skipped${TN}."