summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rwxr-xr-xsource4/script/tests/tests_win2k3_dc.sh22
-rw-r--r--source4/script/tests/win/vm_get_ip.pl2
-rwxr-xr-xsource4/script/tests/win/wintest_2k3_dc.sh116
3 files changed, 139 insertions, 1 deletions
diff --git a/source4/script/tests/tests_win2k3_dc.sh b/source4/script/tests/tests_win2k3_dc.sh
new file mode 100755
index 0000000000..281361475f
--- /dev/null
+++ b/source4/script/tests/tests_win2k3_dc.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if [ ! $WINTESTCONF ]; then
+ echo "Environment variable WINTESTCONF has not been defined."
+ echo "Windows tests will not run unconfigured."
+ exit 1
+fi
+
+if [ ! -r $WINTESTCONF ]; then
+ echo "$WINTESTCONF could not be read."
+ exit 1
+fi
+
+. script/tests/test_functions.sh
+
+export SRCDIR=$SRCDIR
+
+tests="RPC-DRSUAPI RPC-SPOOLSS ncacn_np ncacn_ip_tcp"
+
+for name in $tests; do
+ testit $name $SRCDIR/script/tests/win/wintest_2k3_dc.sh $name
+done
diff --git a/source4/script/tests/win/vm_get_ip.pl b/source4/script/tests/win/vm_get_ip.pl
index ee04fe6a99..9286786155 100644
--- a/source4/script/tests/win/vm_get_ip.pl
+++ b/source4/script/tests/win/vm_get_ip.pl
@@ -19,7 +19,7 @@ sub check_error {
}
# Read in parameters from environment.
-my $vm_cfg_path = $ENV{'VM_CFG_PATH'};
+my $vm_cfg_path = $ENV{"$ARGV[0]"};
my $host_server_name = $ENV{'HOST_SERVER_NAME'};
my $host_server_port = $ENV{'HOST_SERVER_PORT'};
if (!defined($host_server_port)) {
diff --git a/source4/script/tests/win/wintest_2k3_dc.sh b/source4/script/tests/win/wintest_2k3_dc.sh
new file mode 100755
index 0000000000..7949dc4b9a
--- /dev/null
+++ b/source4/script/tests/win/wintest_2k3_dc.sh
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+if [ $# -lt 1 ]; then
+cat <<EOF
+Usage: wintest_2k3_dc.sh TESTGROUP
+EOF
+exit 1;
+fi
+
+TESTGROUP=$1
+
+if [ -z $SRCDIR ]; then
+ echo "Please point environment variable SRCDIR to the Samba 4 source tree."
+ exit 1;
+fi
+
+WINTEST_DIR=$SRCDIR/script/tests/win
+
+# This variable is defined in the per-hosts .fns file for build-farm hosts that run windows tests.
+if [ -z $WINTESTCONF ]; then
+ echo "Please point environment variable WINTESTCONF to your test_win.conf file."
+ exit 1;
+fi
+
+. $WINTESTCONF
+. $WINTEST_DIR/wintest_functions.sh
+
+WIN2K3_DC_REMOTE_HOST=`perl -I$WINTEST_DIR $WINTEST_DIR/vm_get_ip.pl WIN2K3_DC_VM_CFG_PATH`
+
+if [ -z $WIN2K3_DC_REMOTE_HOST ]; then
+ # Restore snapshot to ensure VM is in a known state, then exit.
+ restore_snapshot "Test failed to get the IP address of the windows 2003 DC." "$WIN2K3_DC_VM_CFG_PATH"
+ exit 1;
+fi
+
+server=$WIN2K3_DC_REMOTE_HOST
+username=$WIN2K3_DC_USERNAME
+password=$WIN2K3_DC_PASSWORD
+domain=$WIN2K3_DC_DOMAIN
+realm=$WIN2K3_DC_REALM
+
+OPTIONS="-U$username%$password -W $domain --option realm=$realm"
+
+all_errs=0
+
+on_error() {
+ name=$1
+
+ all_errs=`expr $all_errs + 1`
+ restore_snapshot "$name test failed." "$WIN2K3_DC_VM_CFG_PATH"
+}
+
+drsuapi_tests() {
+
+ name="RPC-DRSUAPI on ncacn_ip_tcp with seal"
+ bin/smbtorture \
+ ncacn_ip_tcp:$server[seal] $OPTIONS \
+ RPC-DRSUAPI || on_error $name
+
+ name="RPC-DRSUAPI on ncacn_ip_tcp with seal,bigendian"
+ bin/smbtorture \
+ ncacn_ip_tcp:$server[seal,bigendian] $OPTIONS \
+ RPC-DRSUAPI || on_error $name
+}
+
+spoolss_tests() {
+
+ name="RPC-SPOOLSS on ncacn_np"
+ bin/smbtorture \
+ ncacn_np:$server $OPTIONS \
+ RPC-SPOOLSS || on_error $name
+}
+
+ncacn_ip_tcp_tests() {
+ bindopt=$1
+ transport="ncacn_ip_tcp"
+ tests="RPC-SCHANNEL RPC-EPMAPPER RPC-SAMR RPC-NETLOGON RPC-LSA RPC-SAMLOGON RPC-SAMSYNC RPC-MULTIBIND"
+
+ for bindoptions in $bindopt; do
+ for t in $tests; do
+ name="$t on $transport with $bindoptions"
+ bin/smbtorture $TORTURE_OPTIONS \
+ $transport:$server[$bindoptions] \
+ $OPTIONS $t || on_error $name
+ done
+ done
+}
+
+ncacn_np_tests() {
+ bindopt=$1
+ transport="ncacn_np"
+ tests="RPC-SCHANNEL RPC-DSSETUP RPC-EPMAPPER RPC-SAMR RPC-WKSSVC RPC-SRVSVC RPC-EVENTLOG RPC-NETLOGON RPC-LSA RPC-SAMLOGON RPC-SAMSYNC RPC-MULTIBIND RPC-WINREG"
+
+ for bindoptions in $bindopt; do
+ for t in $tests; do
+ name="$t on $transport with $bindoptions"
+ bin/smbtorture $TORTURE_OPTIONS \
+ $transport:$server[$bindoptions] \
+ $OPTIONS $t || on_error $name
+ done
+ done
+}
+
+bindoptions="padcheck connect sign seal ntlm,sign ntml,seal $VALIDATE bigendian"
+
+case $TESTGROUP in
+ RPC-DRSUAPI) drsuapi_tests ;;
+ RPC-SPOOLSS) spoolss_tests ;;
+ ncacn_ip_tcp) ncacn_ip_tcp_tests $bindoptions ;;
+ ncacn_np) ncacn_np_tests $bindoptions ;;
+ *) echo "$TESTGROUP is not a known set of tests."
+ exit 1;
+ ;;
+esac
+
+exit $all_errs