r24896: Run the tests for most RPC interfaces over one transport only.
[kai/samba.git] / source4 / selftest / test_rpc.sh
1 #!/bin/sh
2
3 # add tests to this list as they start passing, so we test
4 # that they stay passing
5 ncacn_np_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-SAMSYNC RPC-SAMBA3SESSIONKEY RPC-SAMBA3-SHARESEC RPC-SAMBA3-GETUSERNAME RPC-SAMBA3-LSA RPC-BINDSAMBA3 RPC-NETLOGSAMBA3 RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
6 ncalrpc_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-DRSUAPI RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
7 ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-DSSYNC RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
8 slow_ncacn_np_tests="RPC-SAMLOGON RPC-SAMR RPC-SAMR-USERS RPC-SAMR-PASSWORDS"
9 slow_ncalrpc_tests="RPC-SAMR RPC-SAMR-PASSWORDS"
10 slow_ncacn_ip_tcp_tests="RPC-SAMR RPC-SAMR-PASSWORDS RPC-CRACKNAMES"
11
12 incdir=`dirname $0`
13 . $incdir/test_functions.sh
14
15 all_tests="$ncalrpc_tests $ncacn_np_tests $ncacn_ip_tcp_tests $slow_ncalrpc_tests $slow_ncacn_np_tests $slow_ncacn_ip_tcp_tests RPC-SECRETS"
16
17 # Make sure all tests get run
18 for t in `$samba4bindir/smbtorture --list | grep "^RPC-"`
19 do
20         if ! echo $all_tests | grep $t  > /dev/null
21         then
22                 auto_rpc_tests="$auto_rpc_tests $t"
23         fi
24 done
25
26 for bindoptions in seal,padcheck $VALIDATE bigendian; do
27  for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
28      case $transport in
29          ncalrpc) tests=$ncalrpc_tests ;;
30          ncacn_np) tests=$ncacn_np_tests ;;
31          ncacn_ip_tcp) tests=$ncacn_ip_tcp_tests ;;
32      esac
33    for t in $tests; do
34     name="$t on $transport with $bindoptions"
35     plantest "$name" dc $VALGRIND $samba4bindir/smbtorture $TORTURE_OPTIONS $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
36    done
37  done
38 done
39
40 for bindoptions in "" $VALIDATE bigendian; do
41  for t in $tests; do
42   plantest "$t with $bindoptions" dc $VALGRIND $samba4bindir/smbtorture $TORTURE_OPTIONS "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
43  done
44 done
45
46 for bindoptions in connect $VALIDATE ; do
47  for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
48      case $transport in
49          ncalrpc) tests=$slow_ncalrpc_tests ;;
50          ncacn_np) tests=$slow_ncacn_np_tests ;;
51          ncacn_ip_tcp) tests=$slow_ncacn_ip_tcp_tests ;;
52      esac
53    for t in $tests; do
54     name="$t on $transport with $bindoptions"
55     plantest "$name" dc $VALGRIND $samba4bindir/smbtorture $TORTURE_OPTIONS $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
56    done
57  done
58 done