Home | History | Annotate | Line # | Download | only in scripts
      1 #! /bin/sh
      2 # $OpenLDAP$
      3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
      4 ##
      5 ## Copyright 1998-2024 The OpenLDAP Foundation.
      6 ## All rights reserved.
      7 ##
      8 ## Redistribution and use in source and binary forms, with or without
      9 ## modification, are permitted only as authorized by the OpenLDAP
     10 ## Public License.
     11 ##
     12 ## A copy of this license is available in the file LICENSE in the
     13 ## top-level directory of the distribution or, alternatively, at
     14 ## <http://www.OpenLDAP.org/license.html>.
     15 
     16 . $SRCDIR/scripts/defines.sh
     17 
     18 TB="" TN=""
     19 if test -t 1 ; then
     20 	TB=`$SHTOOL echo -e "%B" 2>/dev/null`
     21 	TN=`$SHTOOL echo -e "%b" 2>/dev/null`
     22 fi
     23 
     24 FAILCOUNT=0
     25 SKIPCOUNT=0
     26 SLEEPTIME=10
     27 
     28 echo ">>>>> Executing all LDAP tests for $BACKEND"
     29 
     30 if [ -n "$NOEXIT" ]; then
     31 	echo "Result	Test" > $TESTWD/results
     32 fi
     33 
     34 for CMD in ${SCRIPTDIR}/test*; do
     35 	case "$CMD" in
     36 		*~)		continue;;
     37 		*.bak)	continue;;
     38 		*.orig)	continue;;
     39 		*.sav)	continue;;
     40 		*)		test -f "$CMD" || continue;;
     41 	esac
     42 
     43 	# remove cruft from prior test
     44 	if test $PRESERVE = yes ; then
     45 		/bin/rm -rf $TESTDIR/db.*
     46 	else
     47 		/bin/rm -rf $TESTDIR
     48 	fi
     49 
     50 	BCMD=`basename $CMD`
     51 	if [ -x "$CMD" ]; then
     52 		echo ">>>>> Starting ${TB}$BCMD${TN} for $BACKEND..."
     53 		$CMD
     54 		RC=$?
     55 		if test $RC -eq 0 ; then
     56 			echo ">>>>> $BCMD completed ${TB}OK${TN} for $BACKEND."
     57 		else
     58 			echo ">>>>> $BCMD ${TB}failed${TN} for $BACKEND"
     59 			FAILCOUNT=`expr $FAILCOUNT + 1`
     60 
     61 			if [ -n "$NOEXIT" ]; then
     62 				echo "Continuing."
     63 			else
     64 				echo "(exit $RC)"
     65 				exit $RC
     66 			fi
     67 		fi
     68 	else
     69 		echo ">>>>> Skipping ${TB}$BCMD${TN} for $BACKEND."
     70 		SKIPCOUNT=`expr $SKIPCOUNT + 1`
     71 		RC="-"
     72 	fi
     73 
     74 	if [ -n "$NOEXIT" ]; then
     75 		echo "$RC	$BCMD" >> $TESTWD/results
     76 	fi
     77 
     78 #	echo ">>>>> waiting $SLEEPTIME seconds for things to exit"
     79 #	sleep $SLEEPTIME
     80 	echo ""
     81 done
     82 
     83 if [ -n "$NOEXIT" ]; then
     84 	if [ "$FAILCOUNT" -gt 0 ]; then
     85 		cat $TESTWD/results
     86 		echo "$FAILCOUNT tests for $BACKEND ${TB}failed${TN}. Please review the test log."
     87 	else
     88 		echo "All executed tests for $BACKEND ${TB}succeeded${TN}."
     89 	fi
     90 fi
     91 
     92 echo "$SKIPCOUNT tests for $BACKEND were ${TB}skipped${TN}."
     93