summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsource4/script/tests/test_win.sh20
-rwxr-xr-xsource4/script/tests/win/wintest_rpc.sh63
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