]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: tests: smbclient. Regression test to ensure we get NT_STATUS_DIRECTORY_NOT_EMPTY...
authorJeremy Allison <jra@samba.org>
Thu, 9 Aug 2018 17:02:26 +0000 (10:02 -0700)
committerKarolin Seeger <kseeger@samba.org>
Thu, 23 Aug 2018 08:38:26 +0000 (10:38 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13204

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Aug 10 21:08:14 CEST 2018 on sn-devel-144

(cherry picked from commit bca400847f2fcc3dd1398e166c1964cb88822071)

source3/script/tests/test_smbclient_s3.sh

index 264f483ff341c4cb32579fac459f750ba46651df..b178670296f5f0fb04780d754ab43b46b4025a6d 100755 (executable)
@@ -1699,6 +1699,44 @@ EOF
     fi
 }
 
+# Test smbclient non-empty rmdir command
+test_del_nedir()
+{
+    tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+    del_nedir="$LOCAL_PATH/del_nedir"
+
+    rm -rf $del_nedir
+    mkdir $del_nedir
+    touch $del_nedir/afile
+    cat > $tmpfile <<EOF
+rmdir del_nedir
+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=$?
+    rm -rf $del_nedir
+
+    if [ $ret != 0 ] ; then
+       echo "$out"
+       echo "failed test_del_nedir test with output $ret"
+       false
+       return
+    fi
+
+# Should get NT_STATUS_DIRECTORY_NOT_EMPTY error from rmdir
+    echo "$out" | grep 'NT_STATUS_DIRECTORY_NOT_EMPTY'
+    ret=$?
+    if [ $ret -ne 0 ] ; then
+       echo "$out"
+       echo "test_del_nedir failed - should get an NT_STATUS_DIRECTORY_NOT_EMPTY error"
+       false
+       return
+    fi
+}
+
+#
 #
 LOGDIR_PREFIX=test_smbclient_s3
 
@@ -1843,4 +1881,8 @@ testit "rm -rf $LOGDIR" \
     rm -rf $LOGDIR || \
     failed=`expr $failed + 1`
 
+testit "delete a non empty directory" \
+    test_del_nedir || \
+    failed=`expr $failed + 1`
+
 testok $0 $failed