Merge branch 'selftest' of git://git.samba.org/jelmer/samba
[kai/samba.git] / source3 / selftest / tests.sh
1 #!/bin/sh
2 # This script generates a list of testsuites that should be run as part of 
3 # the Samba 3 test suite.
4
5 # The output of this script is parsed by selftest.pl, which then decides 
6 # which of the tests to actually run. It will, for example, skip all tests 
7 # listed in selftest/skip or only run a subset during "make quicktest".
8
9 # The idea is that this script outputs all of the tests of Samba 3, not 
10 # just those that are known to pass, and list those that should be skipped 
11 # or are known to fail in selftest/skip or selftest/samba4-knownfail. This makes it 
12 # very easy to see what functionality is still missing in Samba 3 and makes 
13 # it possible to run the testsuite against other servers, such as Samba 4 or 
14 # Windows that have a different set of features.
15
16 # The syntax for a testsuite is "-- TEST --" on a single line, followed 
17 # by the name of the test, the environment it needs and the command to run, all 
18 # three separated by newlines. All other lines in the output are considered 
19 # comments.
20
21 if [ ! -n "$PERL" ]
22 then
23         PERL=perl
24 fi
25
26 plantest() {
27         name=$1
28         env=$2
29         shift 2
30         cmdline="$*"
31         echo "-- TEST --"
32         if [ "$env" = "none" ]; then
33                 echo "samba3.$name"
34         else
35                 echo "samba3.$name ($env)"
36         fi
37         echo $env
38         echo $cmdline
39 }
40
41 normalize_testname() {
42         name=$1
43         shift 1
44         echo $name | tr "A-Z-" "a-z."
45 }
46
47 BINDIR=`dirname $0`/../bin
48
49 plantest "talloctort" none $VALGRIND $BINDIR/talloctort 
50 plantest "replacetort" none $VALGRIND $BINDIR/replacetort
51 plantest "tdbtorture" none $VALGRIND $BINDIR/tdbtorture
52 plantest "smbconftort" none $VALGRIND $BINDIR/smbconftort $CONFIGURATION