s3: tests: Add test for new smbclient "deltree" command.
authorJeremy Allison <jra@samba.org>
Thu, 6 Jul 2017 17:52:45 +0000 (10:52 -0700)
committerStefan Metzmacher <metze@samba.org>
Thu, 20 Jul 2017 18:21:20 +0000 (20:21 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12914

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Jul  7 13:38:24 CEST 2017 on sn-devel-144

(cherry picked from commit b21ee14e2265a6dd11dd83c8e252a40de394585a)

source3/script/tests/test_smbclient_s3.sh

index 4cfd054b01859c2c14d35b714cc498a01d99dc7a..3cbe6f51d4b3496af93568a1c37028687e1f02c9 100755 (executable)
@@ -1189,6 +1189,49 @@ EOF
     fi
 }
 
+# Test smbclient deltree command
+test_deltree()
+{
+    tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+    deltree_dir=$PREFIX/deltree_dir
+
+    rm -rf $deltree_dir
+    cat > $tmpfile <<EOF
+mkdir deltree_dir
+mkdir deltree_dir/foo
+mkdir deltree_dir/foo/bar
+put ${SMBCLIENT} deltree_dir/foo/bar/client
+deltree deltree_dir
+quit
+EOF
+    cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/tmp -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+    eval echo "$cmd"
+    out=`eval $cmd`
+    ret=$?
+
+    if [ $ret != 0 ] ; then
+       echo "$out"
+       echo "failed deltree test with output $ret"
+       false
+       return
+    fi
+
+    echo "$out" | grep 'NT_STATUS_'
+    ret=$?
+    if [ $ret -eq 0 ] ; then
+       echo "$out"
+       echo "failed - got an NT_STATUS error"
+       false
+       return
+    fi
+
+    if [ -d $deltree_dir ] ; then
+       echo "deltree did not delete everything"
+       false
+       return
+    fi
+}
+
 test_server_os_message()
 {
     tmpfile=$PREFIX/smbclient_interactive_prompt_commands
@@ -1326,6 +1369,10 @@ testit "follow local symlinks" \
     test_local_symlinks || \
     failed=`expr $failed + 1`
 
+testit "smbclient deltree command" \
+    test_deltree || \
+    failed=`expr $failed + 1`
+
 testit "server os message" \
     test_server_os_message || \
     failed=`expr $failed + 1`