[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Wed Jul 19 10:00:03 UTC 2017
The branch, master has been updated
via bd7eab1 s3:tests: Fix directory creation and deletion of test_nosymlinks()
via b594e0c s3:tests: Fix directory creation and deletion of test_local_symlinks()
from bc951ae docs: Fix a typo in cifsdd.8
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit bd7eab1639bb5eb70ff04b8f4b89373ca47daf08
Author: Andreas Schneider <asn at samba.org>
Date: Tue Jul 18 12:29:16 2017 +0200
s3:tests: Fix directory creation and deletion of test_nosymlinks()
This should fix flakey autobuild.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12914
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Wed Jul 19 11:59:52 CEST 2017 on sn-devel-144
commit b594e0cdd2b68d262377cfe438253244b89d089c
Author: Andreas Schneider <asn at samba.org>
Date: Tue Jul 18 12:03:32 2017 +0200
s3:tests: Fix directory creation and deletion of test_local_symlinks()
This should fix flakey autobuild.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12914
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/script/tests/test_smbclient_s3.sh | 174 ++++++++++++++++++++++++++----
1 file changed, 155 insertions(+), 19 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/script/tests/test_smbclient_s3.sh b/source3/script/tests/test_smbclient_s3.sh
index f647fd7..203f2c2 100755
--- a/source3/script/tests/test_smbclient_s3.sh
+++ b/source3/script/tests/test_smbclient_s3.sh
@@ -1042,21 +1042,61 @@ EOF
test_nosymlinks()
{
# Setup test dirs.
- test_dir="$LOCAL_PATH/nosymlinks/test"
+ local_test_dir="$LOCAL_PATH/nosymlinks/test"
+ local_slink_name="$local_test_dir/source"
+ local_slink_target="$local_test_dir/nosymlink_target_file"
- slink_name="$test_dir/source"
- slink_target="$test_dir/target"
- foobar_dir="$test_dir/foo/bar"
- get_target="$test_dir/foo/bar/testfile"
+ share_test_dir="test"
+ share_foo_dir="$share_test_dir/foo"
+ share_foobar_dir="$share_test_dir/foo/bar"
+ share_target_file="$share_test_dir/foo/bar/testfile"
- rm -rf $test_dir
+ rm -rf $local_test_dir
- mkdir -p $test_dir
- echo "$slink_target" > $slink_target
- ln -s $slink_target $slink_name
+ local_nosymlink_target_file="nosymlink_target_file"
+ echo "$local_slink_target" > $local_nosymlink_target_file
+
+ local_foobar_target_file="testfile"
+ echo "$share_target_file" > $local_foobar_target_file
+
+ tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+ cat > $tmpfile <<EOF
+mkdir $share_test_dir
+mkdir $share_foo_dir
+mkdir $share_foobar_dir
+cd /$share_test_dir
+put $local_nosymlink_target_file
+cd /$share_foobar_dir
+put $local_foobar_target_file
+quit
+EOF
+
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/nosymlinks -I $SERVER_IP $LOCAL_ADDARGS < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=`eval $cmd`
+ ret=$?
+ rm -f $tmpfile
+ rm -f $local_nosymlink_target_file
+ rm -f $local_foobar_target_file
+
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed accessing local_symlinks with error $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
- mkdir -p $foobar_dir
- echo "$get_target" > $get_target
+# Create the symlink locally
+ ln -s $local_slink_target $local_slink_name
# Getting a file through a symlink name should fail.
tmpfile=$PREFIX/smbclient_interactive_prompt_commands
@@ -1136,6 +1176,33 @@ EOF
echo "failed - NT_STATUS_XXXX doing cd foo\\bar; get testfile on \\nosymlinks"
return 1
fi
+
+# CLEANUP
+ rm -f $local_slink_name
+
+ cat > $tmpfile <<EOF
+deltree test
+quit
+EOF
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/nosymlinks -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=`eval $cmd`
+ ret=$?
+ rm -f $tmpfile
+
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed accessing nosymlinks with error $ret"
+ return 1
+ fi
+
+ echo "$out" | grep 'NT_STATUS'
+ ret=$?
+ if [ $ret -eq 0 ] ; then
+ echo "$out"
+ echo "failed - NT_STATUS_XXXX doing cd foo\\bar; get testfile on \\nosymlinks"
+ return 1
+ fi
}
# Test we can follow normal symlinks.
@@ -1148,21 +1215,60 @@ test_local_symlinks()
LOCAL_RAWARGS="${CONFIGURATION} -mSMB3"
LOCAL_ADDARGS="${LOCAL_RAWARGS} $*"
- test_dir="$LOCAL_PATH/local_symlinks/test"
+ share_test_dir="test"
+ share_slink_target_dir="$share_test_dir/dir1"
+
+ local_test_dir="$LOCAL_PATH/local_symlinks/$share_test_dir"
+ local_slink_name="$local_test_dir/sym_name"
+ local_slink_target_dir="$local_test_dir/dir1"
+
+ rm -rf $local_test_dir
+
+# Create the initial directories
+ tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+ cat > $tmpfile <<EOF
+mkdir $share_test_dir
+mkdir $share_slink_target_dir
+quit
+EOF
+
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/local_symlinks -I $SERVER_IP $LOCAL_ADDARGS < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=`eval $cmd`
+ ret=$?
+ rm -f $tmpfile
- slink_name="$test_dir/sym_name"
- slink_target_dir="$test_dir/dir1"
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed accessing local_symlinks with error $ret"
+ false
+ return
+ fi
- rm -rf $test_dir
+ echo "$out" | grep 'NT_STATUS_'
+ ret=$?
+ if [ $ret -eq 0 ] ; then
+ echo "$out"
+ echo "failed - got an NT_STATUS error"
+ false
+ return
+ fi
- mkdir -p $test_dir
- mkdir $slink_target_dir
- ln -s $slink_target_dir $slink_name
+# Create the symlink locally
+ ln -s $local_slink_target_dir $local_slink_name
+ ret=$?
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed - unable to create symlink"
+ ls -la $local_test_dir
+ false
+ return
+ fi
# Can we cd into the symlink name and ls ?
tmpfile=$PREFIX/smbclient_interactive_prompt_commands
cat > $tmpfile <<EOF
-cd test\\sym_name
+cd $share_test_dir\\sym_name
ls
quit
EOF
@@ -1187,6 +1293,36 @@ EOF
false
return
fi
+
+# CLEANUP
+ rm -f $local_slink_name
+
+ tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+ cat > $tmpfile <<EOF
+deltree $share_test_dir
+quit
+EOF
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/local_symlinks -I $SERVER_IP $LOCAL_ADDARGS < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=`eval $cmd`
+ ret=$?
+ rm -f $tmpfile
+
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed accessing local_symlinks with error $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
}
# Test smbclient deltree command
--
Samba Shared Repository
More information about the samba-cvs
mailing list