diff options
author | Jeremy Allison <jra@samba.org> | 2009-10-06 17:18:15 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-10-06 17:18:15 -0700 |
commit | 7709db4c0363fe2d7b061bbed5022a8fbbf78e7c (patch) | |
tree | 54bcede2f0c4890a10b45620b0bf5fe60f305d00 /source3 | |
parent | 8dedceaff9543ce92d9ad51f67c5c51cd63e7931 (diff) | |
download | samba-7709db4c0363fe2d7b061bbed5022a8fbbf78e7c.tar.gz samba-7709db4c0363fe2d7b061bbed5022a8fbbf78e7c.tar.bz2 samba-7709db4c0363fe2d7b061bbed5022a8fbbf78e7c.zip |
Test creating and deleting a bad symlink using the POSIX calls. Ensure
we don't regress on bug 6769.
Jeremy.
Diffstat (limited to 'source3')
-rwxr-xr-x | source3/script/tests/test_smbclient_s3.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/source3/script/tests/test_smbclient_s3.sh b/source3/script/tests/test_smbclient_s3.sh index f60c7d7c0b..b0199a390b 100755 --- a/source3/script/tests/test_smbclient_s3.sh +++ b/source3/script/tests/test_smbclient_s3.sh @@ -86,6 +86,44 @@ EOF fi } +# Test creating a bad symlink and deleting it. +test_bad_symlink() +{ + prompt="posix_unlink deleted file /newname" + tmpfile=/tmp/smbclient.in.$$ + + cat > $tmpfile <<EOF +posix +symlink badname newname +posix_unlink newname +quit +EOF + + 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 "failed create then delete bad symlink" + false + return + fi + + echo "$out" | grep $prompt >/dev/null 2>&1 + + if [ $? = 0 ] ; then + # got the correct prompt .. succeed + true + else + echo failed create then delete bad symlink + false + fi +} + + testit "smbclient -L $SERVER_IP" $SMBCLIENT $CONFIGURATION -L $SERVER_IP -N -p 139 || failed=`expr $failed + 1` testit "smbclient -L $SERVER -I $SERVER_IP" $SMBCLIENT $CONFIGURATION -L $SERVER -I $SERVER_IP -N -p 139 || failed=`expr $failed + 1` @@ -105,4 +143,8 @@ testit "interactive smbclient -l prompts on stdout" \ test_interactive_prompt_stdout -l /tmp || \ failed=`expr $failed + 1` +testit "creating a bad symlink and deleting it" \ + test_bad_symlink || \ + failed=`expr $failed + 1` + testok $0 $failed |