diff options
Diffstat (limited to 'source4/script/tests/win/wintest_base.sh')
-rwxr-xr-x | source4/script/tests/win/wintest_base.sh | 26 |
1 files changed, 17 insertions, 9 deletions
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 |