xref: /netbsd-src/external/bsd/openldap/dist/tests/scripts/all (revision e670fd5c413e99c2f6a37901bb21c537fcd322d2)
12de962bdSlukem#! /bin/sh
2d11b170bStron# $OpenLDAP$
32de962bdSlukem## This work is part of OpenLDAP Software <http://www.openldap.org/>.
42de962bdSlukem##
5*e670fd5cSchristos## Copyright 1998-2021 The OpenLDAP Foundation.
62de962bdSlukem## All rights reserved.
72de962bdSlukem##
82de962bdSlukem## Redistribution and use in source and binary forms, with or without
92de962bdSlukem## modification, are permitted only as authorized by the OpenLDAP
102de962bdSlukem## Public License.
112de962bdSlukem##
122de962bdSlukem## A copy of this license is available in the file LICENSE in the
132de962bdSlukem## top-level directory of the distribution or, alternatively, at
142de962bdSlukem## <http://www.OpenLDAP.org/license.html>.
152de962bdSlukem
162de962bdSlukem. $SRCDIR/scripts/defines.sh
172de962bdSlukem
182de962bdSlukemTB="" TN=""
192de962bdSlukemif test -t 1 ; then
202de962bdSlukem	TB=`$SHTOOL echo -e "%B" 2>/dev/null`
212de962bdSlukem	TN=`$SHTOOL echo -e "%b" 2>/dev/null`
222de962bdSlukemfi
232de962bdSlukem
24d11b170bStronFAILCOUNT=0
25d11b170bStronSKIPCOUNT=0
262de962bdSlukemSLEEPTIME=10
272de962bdSlukem
282de962bdSlukemecho ">>>>> Executing all LDAP tests for $BACKEND"
292de962bdSlukem
30d11b170bStronif [ -n "$NOEXIT" ]; then
31d11b170bStron	echo "Result	Test" > $TESTWD/results
32d11b170bStronfi
33d11b170bStron
342de962bdSlukemfor CMD in $SRCDIR/scripts/test*; do
354e6df137Slukem	case "$CMD" in
364e6df137Slukem		*~)		continue;;
374e6df137Slukem		*.bak)	continue;;
384e6df137Slukem		*.orig)	continue;;
394e6df137Slukem		*.sav)	continue;;
40*e670fd5cSchristos		*.py)	continue;;
414e6df137Slukem		*)		test -f "$CMD" || continue;;
424e6df137Slukem	esac
434e6df137Slukem
442de962bdSlukem	# remove cruft from prior test
452de962bdSlukem	if test $PRESERVE = yes ; then
462de962bdSlukem		/bin/rm -rf $TESTDIR/db.*
472de962bdSlukem	else
482de962bdSlukem		/bin/rm -rf $TESTDIR
492de962bdSlukem	fi
504e6df137Slukem	if test $BACKEND = ndb ; then
514e6df137Slukem		mysql --user root <<EOF
524e6df137Slukem		drop database if exists db_1;
534e6df137Slukem		drop database if exists db_2;
544e6df137Slukem		drop database if exists db_3;
554e6df137Slukem		drop database if exists db_4;
564e6df137Slukem		drop database if exists db_5;
574e6df137Slukem		drop database if exists db_6;
584e6df137SlukemEOF
594e6df137Slukem	fi
602de962bdSlukem
61d11b170bStron	BCMD=`basename $CMD`
62648e71e5Schristos	if [ -x "$CMD" ]; then
63d11b170bStron		echo ">>>>> Starting ${TB}$BCMD${TN} for $BACKEND..."
64*e670fd5cSchristos		START=`date +%s`
652de962bdSlukem		$CMD
662de962bdSlukem		RC=$?
67*e670fd5cSchristos		END=`date +%s`
68*e670fd5cSchristos
692de962bdSlukem		if test $RC -eq 0 ; then
70*e670fd5cSchristos			echo ">>>>> $BCMD completed ${TB}OK${TN} for $BACKEND after $(( $END - $START )) seconds."
712de962bdSlukem		else
72*e670fd5cSchristos			echo ">>>>> $BCMD ${TB}failed${TN} for $BACKEND after $(( $END - $START )) seconds"
73d11b170bStron			FAILCOUNT=`expr $FAILCOUNT + 1`
74d11b170bStron
75d11b170bStron			if [ -n "$NOEXIT" ]; then
76d11b170bStron				echo "Continuing."
77d11b170bStron			else
78d11b170bStron				echo "(exit $RC)"
792de962bdSlukem				exit $RC
802de962bdSlukem			fi
81d11b170bStron		fi
82d11b170bStron	else
83d11b170bStron		echo ">>>>> Skipping ${TB}$BCMD${TN} for $BACKEND."
84d11b170bStron		SKIPCOUNT=`expr $SKIPCOUNT + 1`
85d11b170bStron		RC="-"
86d11b170bStron	fi
87d11b170bStron
88d11b170bStron	if [ -n "$NOEXIT" ]; then
89d11b170bStron		echo "$RC	$BCMD" >> $TESTWD/results
90d11b170bStron	fi
912de962bdSlukem
922de962bdSlukem#	echo ">>>>> waiting $SLEEPTIME seconds for things to exit"
932de962bdSlukem#	sleep $SLEEPTIME
942de962bdSlukem	echo ""
952de962bdSlukemdone
96d11b170bStron
97d11b170bStronif [ -n "$NOEXIT" ]; then
98d11b170bStron	if [ "$FAILCOUNT" -gt 0 ]; then
99d11b170bStron		cat $TESTWD/results
100d11b170bStron		echo "$FAILCOUNT tests for $BACKEND ${TB}failed${TN}. Please review the test log."
101d11b170bStron	else
102d11b170bStron		echo "All executed tests for $BACKEND ${TB}succeeded${TN}."
103d11b170bStron	fi
104d11b170bStronfi
105d11b170bStron
106d11b170bStronecho "$SKIPCOUNT tests for $BACKEND were ${TB}skipped${TN}."
107