summaryrefslogtreecommitdiff
path: root/source4/script/tests/win
diff options
context:
space:
mode:
Diffstat (limited to 'source4/script/tests/win')
-rwxr-xr-xsource4/script/tests/win/wintest_2k3_dc.sh6
-rwxr-xr-xsource4/script/tests/win/wintest_base.sh26
-rwxr-xr-xsource4/script/tests/win/wintest_client.sh10
-rwxr-xr-xsource4/script/tests/win/wintest_net.sh15
-rwxr-xr-xsource4/script/tests/win/wintest_raw.sh28
-rwxr-xr-xsource4/script/tests/win/wintest_rpc.sh23
6 files changed, 65 insertions, 43 deletions
diff --git a/source4/script/tests/win/wintest_2k3_dc.sh b/source4/script/tests/win/wintest_2k3_dc.sh
index 7949dc4b9a..ee69a9834a 100755
--- a/source4/script/tests/win/wintest_2k3_dc.sh
+++ b/source4/script/tests/win/wintest_2k3_dc.sh
@@ -9,13 +9,11 @@ fi
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."
diff --git a/source4/script/tests/win/wintest_base.sh b/source4/script/tests/win/wintest_base.sh
index fa436a4af8..b12d2923f7 100755
--- a/source4/script/tests/win/wintest_base.sh
+++ b/source4/script/tests/win/wintest_base.sh
@@ -20,9 +20,19 @@ password="$3"
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"
@@ -32,23 +42,21 @@ for t in $base_tests; do
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 @@ for t in $base_tests; do
fi
done
-testok $0 $all_errs
+exit $all_errs
diff --git a/source4/script/tests/win/wintest_client.sh b/source4/script/tests/win/wintest_client.sh
index cd6427a0bd..42fbc5c805 100755
--- a/source4/script/tests/win/wintest_client.sh
+++ b/source4/script/tests/win/wintest_client.sh
@@ -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
diff --git a/source4/script/tests/win/wintest_net.sh b/source4/script/tests/win/wintest_net.sh
index d2dbb3bcc0..cd1fd2de92 100755
--- a/source4/script/tests/win/wintest_net.sh
+++ b/source4/script/tests/win/wintest_net.sh
@@ -34,6 +34,14 @@ bind_options="seal,padcheck bigendian"
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 @@ for o in $bind_options; do
-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
diff --git a/source4/script/tests/win/wintest_raw.sh b/source4/script/tests/win/wintest_raw.sh
index 2459b21d6d..f974dc8770 100755
--- a/source4/script/tests/win/wintest_raw.sh
+++ b/source4/script/tests/win/wintest_raw.sh
@@ -20,10 +20,20 @@ password="$3"
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"
@@ -33,17 +43,15 @@ for t in $raw_tests; do
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 @@ for t in $raw_tests; do
fi
done
-testok $0 $all_errs
+exit $all_errs
diff --git a/source4/script/tests/win/wintest_rpc.sh b/source4/script/tests/win/wintest_rpc.sh
index 40a981e56d..34c195b074 100755
--- a/source4/script/tests/win/wintest_rpc.sh
+++ b/source4/script/tests/win/wintest_rpc.sh
@@ -37,6 +37,14 @@ bind_options="seal,padcheck bigendian"
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 o in $bind_options; do
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