#! /bin/sh # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## ## Copyright 1998-2024 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 ## . . $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}."