s3:seltest: make test_smbclient_s3.sh more strict
authorStefan Metzmacher <metze@samba.org>
Thu, 29 Jan 2009 09:29:35 +0000 (10:29 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 29 Jan 2009 09:36:12 +0000 (10:36 +0100)
metze

source3/script/tests/test_smbclient_s3.sh
source3/script/tests/tests_all.sh
source3/script/tests/tests_smbclient_s3.sh
source3/selftest/tests.sh

index c10aed0ee650ee56eaffcc81fa39f805e8577c74..1d55087c88527a74a6e4342fe85731affd0f60f8 100755 (executable)
@@ -2,17 +2,19 @@
 
 # this runs the file serving tests that are expected to pass with samba3
 
-if [ $# -lt 2 ]; then
+if [ $# -lt 4 ]; then
 cat <<EOF
-Usage: test_smbclient_s3.sh SERVER SERVER_IP
+Usage: test_smbclient_s3.sh SERVER SERVER_IP USERNAME PASSWORD
 EOF
 exit 1;
 fi
 
 SERVER="$1"
 SERVER_IP="$2"
+USERNAME="$3"
+PASSWORD="$4"
 SMBCLIENT="$VALGRIND ${SMBCLIENT:-$BINDIR/smbclient} $CONFIGURATION"
-shift 2
+shift 4
 ADDARGS="$*"
 
 incdir=`dirname $0`
@@ -25,9 +27,18 @@ test_noninteractive_no_prompt()
 {
     prompt="smb"
 
-    echo du | \
-       $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I SERVER_IP $ADDARGS 2>&1 | \
-    grep $prompt
+    cmd='echo du | $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP $ADDARGS 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+
+    if [ $? != 0 ] ; then
+       echo "$out"
+       echo "command failed"
+       false
+       return
+    fi
+
+    echo "$out" | grep $prompt >/dev/null 2>&1
 
     if [ $? = 0 ] ; then
        # got a prompt .. fail
@@ -49,18 +60,26 @@ du
 quit
 EOF
 
-    CLI_FORCE_INTERACTIVE=yes \
-    $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP \
-       $ADDARGS < $tmpfile 2>/dev/null | \
-    grep $prompt
+    cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT $CONFIGURATION "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+    ret=$?
+    rm -f $tmpfile
+
+    if [ $ret != 0 ] ; then
+       echo "$out"
+       echo "command failed"
+       false
+       return
+    fi
+
+    echo "$out" | grep $prompt >/dev/null 2>&1
 
     if [ $? = 0 ] ; then
        # got a prompt .. succeed
-       rm -f $tmpfile
        true
     else
        echo failed to match interactive prompt on stdout
-       rm -f $tmpfile
        false
     fi
 }
index 2b46da0e77c04d9eae69eae6cfd43f07480bdc07..11d315b1981a29eb59f4a1d3a1db1ad82245d2f0 100755 (executable)
@@ -20,13 +20,13 @@ smbtorture_s3_encrypted() {
 
 smbclient_s3() {
        echo "RUNNING TESTS smbclient_s3"
-       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP \
+       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD \
        || failed=`expr $failed + $?`
 }
 
 smbclient_s3_encrypted() {
        echo "RUNNING TESTS smbclient_s3_encrypted"
-       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP "-e" \
+       $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD "-e" \
        || failed=`expr $failed + $?`
 }
 
index d48a692d4bdb074bf8e4bdd3ddf4f52403de333d..40edf2296ff81ece6758b954161cd827f1f71705 100644 (file)
@@ -1 +1 @@
-. $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP
+. $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP $USERNAME $PASSWORD
index 98568b6bb383ee988e41571c0fe104465905a0fa..3a53fa1df240a20333f8144877ff9be748c8d441 100755 (executable)
@@ -65,6 +65,6 @@ for t in $tests; do
     plantest "$name" dc $VALGRIND $BINDIR/smbtorture //\$SERVER/tmp -U\$USERNAME%\$PASSWORD $t
 done
 
-plantest "blackbox.smbclient" dc BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP
+plantest "blackbox.smbclient" dc BINDIR="$BINDIR" script/tests/test_smbclient_s3.sh \$SERVER \$SERVER_IP \$USERNAME \$PASSWORD
 plantest "blackbox.wbinfo" dc BINDIR="$BINDIR" script/tests/test_wbinfo_s3.sh \$DOMAIN \$SERVER \$USERNAME \$PASSWORD
 plantest "blackbox.net" dc BINDIR="$BINDIR" SCRIPTDIR="$SCRIPTDIR" script/tests/test_net_s3.sh