svn commit: samba r21494 - in
branches/SAMBA_4_0/source/script/tests: . win
brad at samba.org
brad at samba.org
Wed Feb 21 22:50:56 GMT 2007
Author: brad
Date: 2007-02-21 22:50:55 +0000 (Wed, 21 Feb 2007)
New Revision: 21494
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21494
Log:
Fix 'make wintest' to support command-line changes to 'vm-get-ip.pl' and the revertsnapshot() shell function.
Restructure existing tests to work with the recent build farm changes.
Added windows DC testing to 'make wintest'.
Some improvements and generalization to the way errors are handled.
Modified:
branches/SAMBA_4_0/source/script/tests/test_win.sh
branches/SAMBA_4_0/source/script/tests/tests_win.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_2k3_dc.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_base.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_client.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_net.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_raw.sh
branches/SAMBA_4_0/source/script/tests/win/wintest_rpc.sh
Changeset:
Modified: branches/SAMBA_4_0/source/script/tests/test_win.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/test_win.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/test_win.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -7,30 +7,36 @@
# Copyright Brad Henry <brad at samba.org> 2006
# Released under the GNU GPL v2 or later.
-# Index variable to count the total number of tests which fail.
-all_errs=0
+. script/tests/test_functions.sh
-export SMBTORTURE_REMOTE_HOST=`perl -I$WINTEST_DIR $WINTEST_DIR/vm_get_ip.pl`
+export SMBTORTURE_REMOTE_HOST=`perl -I$WINTEST_DIR $WINTEST_DIR/vm_get_ip.pl VM_CFG_PATH`
if [ -z $SMBTORTURE_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 host."
+ restore_snapshot "Test failed to get the IP address of the windows host." "$VM_CFG_PATH"
exit 1
fi
-$WINTEST_DIR/wintest_base.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \
- $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \
- || all_errs=`expr $all_errs + $?`
+name="BASE against Windows 2003"
+testit "$name" $WINTEST_DIR/wintest_base.sh $SMBTORTURE_REMOTE_HOST \
+ $SMBTORTURE_USERNAME $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP
-$WINTEST_DIR/wintest_raw.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \
- $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \
- || all_errs=`expr $all_errs + $?`
+name="RAW against Windows 2003"
+testit "$name" $WINTEST_DIR/wintest_raw.sh $SMBTORTURE_REMOTE_HOST \
+ $SMBTORTURE_USERNAME $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP
-$WINTEST_DIR/wintest_rpc.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \
- $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \
- || all_errs=`expr $all_errs + $?`
+name="RPC against Windows 2003"
+testit "$name" $WINTEST_DIR/wintest_rpc.sh $SMBTORTURE_REMOTE_HOST \
+ $SMBTORTURE_USERNAME $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP
-$WINTEST_DIR/wintest_net.sh $SMBTORTURE_REMOTE_HOST $SMBTORTURE_USERNAME \
- $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP \
- || all_errs=`expr $all_errs + $?`
+name="NET against Windows 2003"
+testit "$name" $WINTEST_DIR/wintest_net.sh $SMBTORTURE_REMOTE_HOST \
+ $SMBTORTURE_USERNAME $SMBTORTURE_PASSWORD $SMBTORTURE_WORKGROUP
-$WINTEST_DIR/wintest_client.sh || all_errs=`expr $all_errs + $?`
+name="Windows 2003 against smbd"
+testit "$name" $WINTEST_DIR/wintest_client.sh $SMBTORTURE_REMOTE_HOST
+
+dc_tests="RPC-DRSUAPI RPC-SPOOLSS ncacn_np ncacn_ip_tcp"
+for name in $dc_tests; do
+ testit "$name against Windows 2003 DC" $WINTEST_DIR/wintest_2k3_dc.sh \
+ "$name"
+done
Modified: branches/SAMBA_4_0/source/script/tests/tests_win.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/tests_win.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/tests_win.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -28,7 +28,3 @@
. $WINTESTCONF
$SRCDIR/script/tests/test_win.sh
- status=$?
-
- echo "$0 exits with status $status"
- exit $status
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_2k3_dc.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_2k3_dc.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_2k3_dc.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -9,13 +9,11 @@
TESTGROUP=$1
-if [ -z $SRCDIR ]; then
- echo "Please point environment variable SRCDIR to the Samba 4 source tree."
+if [ -z $WINTEST_DIR ]; then
+ echo "Environment variable WINTEST_DIR not found."
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."
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_base.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_base.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_base.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -20,10 +20,20 @@
domain="$4"
shift 4
+export SMBTORTURE_REMOTE_HOST=$server
+
base_tests="BASE-UNLINK BASE-ATTR BASE-DELETE BASE-TCON BASE-OPEN BASE-CHKPATH"
all_errs=0
+err=0
+on_error() {
+ errstr=$1
+
+ all_errs=`expr $all_errs + 1`
+ restore_snapshot $errstr "$VM_CFG_PATH"
+}
+
for t in $base_tests; do
test_name="$t / WINDOWS SERVER"
echo -e "\n$test_name SETUP PHASE"
@@ -32,23 +42,21 @@
if [ $err_rtn -ne 0 ]; then
# If test setup fails, load VM snapshot and skip test.
- restore_snapshot "\n$test_name setup failed, skipping test."
+ on_error "\n$test_name setup failed, skipping test."
else
echo -e "\n$test_name setup completed successfully."
- old_errs=$all_errs
- testit "$test_name" $SMBTORTURE_BIN_PATH \
- -U $username%$password \
+ $SMBTORTURE_BIN_PATH -U $username%$password \
-W $domain //$server/$SMBTORTURE_REMOTE_SHARE_NAME \
- $t || all_errs=`expr $all_errs + 1`
- if [ $old_errs -lt $all_errs ]; then
- restore_snapshot "\n$test_name failed."
+ $t || err=1
+ if [ $err -ne 0 ]; then
+ on_error "\n$test_name failed."
else
echo -e "\n$test_name CLEANUP PHASE"
remove_share_test
if [ $err_rtn -ne 0 ]; then
# If cleanup fails, restore VM snapshot.
- restore_snapshot "\n$test_name removal failed."
+ on_error "\n$test_name removal failed."
else
echo -e "\n$test_name removal completed successfully."
fi
@@ -56,4 +64,4 @@
fi
done
-testok $0 $all_errs
+exit $all_errs
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_client.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_client.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_client.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -7,20 +7,20 @@
# This variable is defined in the per-hosts .fns file.
. $WINTESTCONF
+export SMBTORTURE_REMOTE_HOST=$1
+
test_name="WINDOWS CLIENT / SAMBA SERVER SHARE"
cat $WINTEST_DIR/common.exp > $TMPDIR/client_test.exp
cat $WINTEST_DIR/wintest_client.exp >> $TMPDIR/client_test.exp
-testit "$test_name" \
- expect $TMPDIR/client_test.exp || all_errs=`expr $all_errs + 1`
+expect $TMPDIR/client_test.exp || all_errs=`expr $all_errs + 1`
if [ $all_errs > 0 ]; then
# Restore snapshot to ensure VM is in a known state.
- restore_snapshot "\n$test_name failed."
- echo "Snapshot restored."
+ restore_snapshot "\n$test_name failed." "$VM_CFG_PATH"
fi
rm -f $TMPDIR/client_test.exp
-testok $0 $all_errs
+exit $all_errs
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_net.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_net.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_net.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -34,6 +34,14 @@
test_type="ncalrpc ncacn_np ncacn_ip_tcp"
all_errs=0
+
+on_error() {
+ errstr=$1
+
+ all_errs=`expr $all_errs + 1`
+ restore_snapshot $errstr "$VM_CFG_PATH"
+}
+
for o in $bind_options; do
for transport in $test_type; do
case $transport in
@@ -49,12 +57,9 @@
-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
+ $t || on_error "\n$test_name failed."
done
done
done
-testok $0 $all_errs
+exit $all_errs
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_raw.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_raw.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_raw.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -20,11 +20,21 @@
domain="$4"
shift 4
+export SMBTORTURE_REMOTE_HOST=$server
+
raw_tests="RAW-QFILEINFO RAW-SFILEINFO RAW-MKDIR RAW-SEEK RAW-OPEN RAW-WRITE RAW-UNLINK RAW-READ RAW-CLOSE RAW-IOCTL RAW-RENAME RAW-EAS RAW-STREAMS"
# This test fails: RAW-QFSINFO
all_errs=0
+err=0
+on_error() {
+ errstr=$1
+ all_errs=`expr $all_errs + 1`
+
+ restore_snapshot $errstr "$VM_CFG_PATH"
+}
+
for t in $raw_tests; do
test_name="$t / WINDOWS SERVER"
echo -e "\n$test_name SETUP PHASE"
@@ -33,17 +43,15 @@
if [ $err_rtn -ne 0 ]; then
# If test setup fails, load VM snapshot and skip test.
- restore_snapshot "\n$test_name setup failed, skipping test."
+ on_error "\n$test_name setup failed, skipping test."
else
echo -e "\n$test_name setup completed successfully."
- old_errs=$all_errs
- testit "$test_name" $SMBTORTURE_BIN_PATH \
- -U $username%$password \
- -W $domain //$server/$SMBTORTURE_REMOTE_SHARE_NAME \
- $t || all_errs=`expr $all_errs + 1`
- if [ $old_errs -lt $all_errs ]; then
- restore_snapshot "\n$test_name failed."
+ $SMBTORTURE_BIN_PATH -U $username%$password -W $domain \
+ //$server/$SMBTORTURE_REMOTE_SHARE_NAME \
+ $t || err=1
+ if [ $err -ne 0 ]; then
+ on_error "\n$test_name failed."
else
echo -e "\n$test_name CLEANUP PHASE"
remove_share_test
@@ -57,4 +65,4 @@
fi
done
-testok $0 $all_errs
+exit $all_errs
Modified: branches/SAMBA_4_0/source/script/tests/win/wintest_rpc.sh
===================================================================
--- branches/SAMBA_4_0/source/script/tests/win/wintest_rpc.sh 2007-02-21 20:59:01 UTC (rev 21493)
+++ branches/SAMBA_4_0/source/script/tests/win/wintest_rpc.sh 2007-02-21 22:50:55 UTC (rev 21494)
@@ -37,6 +37,14 @@
test_type="ncalrpc ncacn_np ncacn_ip_tcp"
all_errs=0
+
+on_error() {
+ errstr=$1
+ all_errs=`expr $all_errs + 1`
+
+ restore_snapshot $errstr "$VM_CFG_PATH"
+}
+
for o in $bind_options; do
for transport in $test_type; do
case $transport in
@@ -47,17 +55,12 @@
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
+
+ $SMBTORTURE_BIN_PATH -U $username%$password \
+ -W $domain $transport:$server[$o] \
+ $t || on_error "\n$test_name failed."
done
done
done
-testok $0 $all_errs
+exit $all_errs
More information about the samba-cvs
mailing list