diff options
author | Brad Henry <brad@samba.org> | 2007-02-21 22:50:55 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:48:44 -0500 |
commit | 48b0dabdbaf7538e0896dd137eec5cc97b50a59d (patch) | |
tree | 773d9d14a806cd27984bed5d05780dc69f05f96f /source4/script/tests/win | |
parent | f487c24a79223c295afc60e05a0fac9794c3a22d (diff) | |
download | samba-48b0dabdbaf7538e0896dd137eec5cc97b50a59d.tar.gz samba-48b0dabdbaf7538e0896dd137eec5cc97b50a59d.tar.bz2 samba-48b0dabdbaf7538e0896dd137eec5cc97b50a59d.zip |
r21494: 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.
(This used to be commit de9687404e802d7e7629c9d03f496d3c5bd30397)
Diffstat (limited to 'source4/script/tests/win')
-rwxr-xr-x | source4/script/tests/win/wintest_2k3_dc.sh | 6 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_base.sh | 26 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_client.sh | 10 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_net.sh | 15 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_raw.sh | 28 | ||||
-rwxr-xr-x | source4/script/tests/win/wintest_rpc.sh | 23 |
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 |