r6598: Make it easy to point the test_echo.sh at remote servers, without
[samba.git] / source / script / tests / test_echo.sh
1 #!/bin/sh
2
3 if [ $# -lt 4 ]; then
4 cat <<EOF
5 Usage: test_echo.sh SERVER USERNAME PASSWORD DOMAIN
6 EOF
7 exit 1;
8 fi
9
10 server="$1"
11 username="$2"
12 password="$3"
13 domain="$4"
14 shift 4
15
16 testit() {
17    trap "rm -f test.$$" EXIT
18    cmdline="$*"
19    if ! $cmdline > test.$$ 2>&1; then
20        cat test.$$;
21        rm -f test.$$;
22        echo "TEST FAILED - $cmdline";
23        exit 1;
24    fi
25    rm -f test.$$;
26 }
27
28 transports="ncacn_np ncacn_ip_tcp"
29 if [ $server = "localhost" ]; then 
30     transports="ncalrpc $transports"
31 fi
32
33 for transport in $transports; do
34  for bindoptions in connect sign seal sign,seal validate padcheck bigendian bigendian,seal; do
35   for ntlmoptions in \
36         "--option=socket:testnonblock=True" \
37         "--option=ntlmssp_client:ntlm2=yes" \
38         "--option=ntlmssp_client:ntlm2=no" \
39         "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no" \
40         "--option=ntlmssp_client:ntlm2=no  --option=ntlmssp_client:128bit=no" \
41         "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no" \
42         "--option=ntlmssp_client:ntlm2=no  --option=ntlmssp_client:keyexchange=no" \
43     ; do
44    echo Testing $transport with $bindoptions and $ntlmoptions
45    testit bin/smbtorture $transport:"$server[$bindoptions]" $ntlmoptions -U"$username"%"$password" -W $domain RPC-ECHO "$*"
46   done
47  done
48 done
49
50 # separately test the print option - its v slow
51 echo Testing print option
52 testit bin/smbtorture ncacn_np:"$server[print]" -U"$username"%"$password" -W $domain RPC-ECHO "$*"
53
54 echo "ALL OK";