]> git.sur5r.net Git - openldap/blob - tests/scripts/all
Happy new year (belated)
[openldap] / tests / scripts / all
1 #! /bin/sh
2 # $OpenLDAP$
3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 ##
5 ## Copyright 1998-2014 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 $SRCDIR/scripts/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         if test $BACKEND = ndb ; then
50                 mysql --user root <<EOF
51                 drop database if exists db_1;
52                 drop database if exists db_2;
53                 drop database if exists db_3;
54                 drop database if exists db_4;
55                 drop database if exists db_5;
56                 drop database if exists db_6;
57 EOF
58         fi
59
60         if [ -x "$CMD" ]; then
61                 BCMD=`basename $CMD`
62                 echo ">>>>> Starting ${TB}$BCMD${TN} for $BACKEND..."
63                 $CMD
64                 RC=$?
65                 if test $RC -eq 0 ; then
66                         echo ">>>>> $BCMD completed ${TB}OK${TN} for $BACKEND."
67                 else
68                         echo ">>>>> $BCMD ${TB}failed${TN} for $BACKEND"
69                         FAILCOUNT=`expr $FAILCOUNT + 1`
70
71                         if [ -n "$NOEXIT" ]; then
72                                 echo "Continuing."
73                         else
74                                 echo "(exit $RC)"
75                                 exit $RC
76                         fi
77                 fi
78         else
79                 echo ">>>>> Skipping ${TB}$BCMD${TN} for $BACKEND."
80                 SKIPCOUNT=`expr $SKIPCOUNT + 1`
81                 RC="-"
82         fi
83
84         if [ -n "$NOEXIT" ]; then
85                 echo "$RC       $BCMD" >> $TESTWD/results
86         fi
87
88 #       echo ">>>>> waiting $SLEEPTIME seconds for things to exit"
89 #       sleep $SLEEPTIME
90         echo ""
91 done
92
93 if [ -n "$NOEXIT" ]; then
94         if [ "$FAILCOUNT" -gt 0 ]; then
95                 cat $TESTWD/results
96                 echo "$FAILCOUNT tests for $BACKEND ${TB}failed${TN}. Please review the test log."
97         else
98                 echo "All executed tests for $BACKEND ${TB}succeeded${TN}."
99         fi
100 fi
101
102 echo "$SKIPCOUNT tests for $BACKEND were ${TB}skipped${TN}."