]> the.earth.li Git - onak.git/blob - runtests
Add ability to drop overly large packets
[onak.git] / runtests
1 #!/bin/sh
2 set -e
3
4 fail=0
5 total=0
6
7 if [ ! -e onak ]; then
8         echo "** onak binary doesn't exist, cannot run test suite" >&2
9         exit 1
10 fi
11
12 if [ -e t/db/ ]; then
13         rm -rf t/db/
14 fi
15
16 for t in libkeydb_*.so; do
17         backend=${t##libkeydb_}
18         backend=${backend%%.so}
19         if [ "`echo t/$backend-*`" != "t/$backend-*" ]; then
20                 echo "* testing $backend backend [conf]"
21                 (sed -e "s;DIR;`pwd`;" t/test-in.conf ; \
22                         echo db_backend $backend) > t/test.conf
23                 for t in t/$backend-*.t t/all-*.t; do
24                         total=`expr $total + 1`
25                         mkdir t/db/
26                         if ! $t test.conf $backend; then
27                                 echo "test $t failed" >&2
28                                 fail=`expr $fail + 1`
29                         fi
30                         rm -rf t/db/
31                 done
32                 rm t/test.conf
33         fi
34
35         if [ "`echo t/$backend-*`" != "t/$backend-*" ]; then
36                 echo "* testing $backend backend [ini]"
37                 sed -e "s;DIR;`pwd`;" -e "s;DB;${backend};" t/test-in.ini \
38                         > t/test.ini
39                 for t in t/$backend-*.t t/all-*.t; do
40                         total=`expr $total + 1`
41                         mkdir t/db/
42                         if ! $t test.ini $backend; then
43                                 echo "test $t failed" >&2
44                                 fail=`expr $fail + 1`
45                         fi
46                         rm -rf t/db/
47                 done
48                 rm t/test.ini
49         fi
50 done
51
52 if [ "$fail" -gt 0 ]; then
53         echo "** failed $fail/$total tests" >&2
54         exit 1
55 else
56         echo "** all tests succeeded"
57 fi