diff options
-rwxr-xr-x | source4/script/tests/test_win.sh | 20 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_rpc.sh | 63 |
2 files changed, 66 insertions, 17 deletions
diff --git a/source4/script/tests/test_win.sh b/source4/script/tests/test_win.sh index e59dbdabda..a6b09d48db 100755 --- a/source4/script/tests/test_win.sh +++ b/source4/script/tests/test_win.sh @@ -32,23 +32,9 @@ $WINTEST_DIR/wintest_raw.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \ $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \ || all_errs=`expr $all_errs + $?` -rpc_tests="RPC-WINREG RPC-ASYNCBIND RPC-ATSVC RPC-DSSETUP RPC-EPMAPPER" -rpc_tests="$rpc_tests RPC-INITSHUTDOWN RPC-LSA-GETUSER RPC-MULTIBIND RPC-ROT" -rpc_tests="$rpc_tests RPC-SECRETS RPC-SRVSVC RPC-SVCCTL RPC-WKSSVC" - -for t in $rpc_tests; do - test_name="$t / WINDOWS SERVER" - old_errs=$all_errs - - testit "$test_name" $SMBTORTURE_BIN_PATH \ - -U $SMBTORTURE_USERNAME%$SMBTORTURE_PASSWORD \ - -W $SMBTORTURE_WORKGROUP \ - ncacn_np:$SMBTORTURE_REMOTE_HOST \ - $t || all_errs=`expr $all_errs + 1` - if [ $old_errs -lt $all_errs ]; then - restore_snapshot "\n$test_name failed." - fi -done +$WINTEST_DIR/wintest_rpc.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \ + $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \ + || all_errs=`expr $all_errs + $?` test_name="WINDOWS CLIENT / SAMBA SERVER SHARE" old_errs=$all_errs diff --git a/source4/script/tests/win/wintest_rpc.sh b/source4/script/tests/win/wintest_rpc.sh new file mode 100755 index 0000000000..40a981e56d --- /dev/null +++ b/source4/script/tests/win/wintest_rpc.sh @@ -0,0 +1,63 @@ +#!/bin/sh + +. script/tests/test_functions.sh + +. script/tests/win/wintest_functions.sh + +# This variable is defined in the per-hosts .fns file. +. $WINTESTCONF + +if [ $# -lt 4 ]; then +cat <<EOF +Usage: test_rpc.sh SERVER USERNAME PASSWORD DOMAIN +EOF +exit 1; +fi + +server="$1" +username="$2" +password="$3" +domain="$4" +shift 4 + +ncacn_np_tests="RPC-SRVSVC RPC-UNIXINFO RPC-ECHO RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND" +# These tests fail on ncacn_np: RPC-SPOOLSS RPC-SCHANNEL RPC-JOIN RPC-LSA +# RPC-NETLOGON + +ncalrpc_tests="RPC-UNIXINFO RPC-ECHO" +# These tests fail on ncalrpc: RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP +# RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON + +ncacn_ip_tcp_tests="RPC-UNIXINFO RPC-ECHO" +# These tests fail on ncacn_ip_tcp: RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP +# RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON + +bind_options="seal,padcheck bigendian" + +test_type="ncalrpc ncacn_np ncacn_ip_tcp" + +all_errs=0 +for o in $bind_options; do + for transport in $test_type; do + case $transport in + ncalrpc) rpc_test=$ncalrpc_tests ;; + ncacn_np) rpc_test=$ncacn_np_tests ;; + ncacn_ip_tcp) rpc_test=$ncacn_ip_tcp_tests ;; + esac + + for t in $rpc_test; do + test_name="$t on $transport with $o" + old_errs=$all_errs + testit "$test_name" $SMBTORTURE_BIN_PATH \ + -U $username%$password \ + -W $domain \ + $transport:$server[$o] \ + $t || all_errs=`expr $all_errs + 1` + if [ $old_errs -lt $all_errs ]; then + restore_snapshot "\n$test_name failed." + fi + done + done +done + +testok $0 $all_errs |