selftest: Use remote operations in nosymlinks test
authorAndrew Bartlett <abartlet@samba.org>
Sun, 2 Jul 2017 22:58:02 +0000 (10:58 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 2 Jul 2017 22:58:21 +0000 (10:58 +1200)
This ensures we do not reuse dev/inode values that are left behind in xattr.tdb from some previous
test.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
source3/script/tests/test_smbclient_s3.sh

index 4cfd054b01859c2c14d35b714cc498a01d99dc7a..9a4a5a97e06b2caf21147ced93986e628327c61e 100755 (executable)
@@ -23,6 +23,7 @@ NET="${11}"
 CONFIGURATION="${12}"
 PROTOCOL="${13}"
 SMBCLIENT="$VALGRIND ${SMBCLIENT}"
+SMBCLIENT4="$VALGRIND ${SMBCLIENT}"4
 WBINFO="$VALGRIND ${WBINFO}"
 shift 13
 RAWARGS="${CONFIGURATION} -m${PROTOCOL}"
@@ -1041,21 +1042,23 @@ EOF
 # Test follow symlinks can't access symlinks
 test_nosymlinks()
 {
-# Setup test dirs.
-    test_dir="$LOCAL_PATH/nosymlinks/test"
+    # Setup test dirs.
+    test_dir_relative="test"
+    test_dir="$LOCAL_PATH/nosymlinks/$test_dir_relative"
 
     slink_name="$test_dir/source"
     slink_target="$test_dir/target"
-    foobar_dir="$test_dir/foo/bar"
+    foobar_dir_relative="foo/bar"
+    foobar_dir="$test_dir/$foobar_dir_relative"
     get_target="$test_dir/foo/bar/testfile"
 
-    rm -rf $test_dir
+    testit "smbclient4 deltree" $SMBCLIENT4 //$SERVER/nosymlinks -c 'deltree $test_dir_relative'  || failed=`expr $failed + 1` 
+    testit "smbclient mkdir" $SMBCLIENT //$SERVER/nosymlinks -c 'recurse;mkdir $test_dir_relative'  || failed=`expr $failed + 1` 
 
-    mkdir -p $test_dir
-    echo "$slink_target" > $slink_target
+    echo "$slink_target" | testit "smbclient put link target" $SMBCLIENT //$SERVER/nosymlinks -c 'put - target'  || failed=`expr $failed + 1` 
     ln -s $slink_target $slink_name
 
-    mkdir -p $foobar_dir
+    testit "smbclient mkdir" $SMBCLIENT //$SERVER/nosymlinks -c 'resurce;mkdir $foobar_dir_relative'  || failed=`expr $failed + 1` 
     echo "$get_target" > $get_target
 
 # Getting a file through a symlink name should fail.
@@ -1148,15 +1151,17 @@ test_local_symlinks()
     LOCAL_RAWARGS="${CONFIGURATION} -mSMB3"
     LOCAL_ADDARGS="${LOCAL_RAWARGS} $*"
 
-    test_dir="$LOCAL_PATH/local_symlinks/test"
+    test_dir_relative="test"
+    test_dir="$LOCAL_PATH/local_symlinks/$test_dir_relative"
 
     slink_name="$test_dir/sym_name"
+    slink_target_dir_relative="$test_dir_relative/dir1"
     slink_target_dir="$test_dir/dir1"
 
-    rm -rf $test_dir
+    testit "smbclient4 deltree" $SMBCLIENT4 //$SERVER/local_symlinks -c 'deltree $test_dir_relative'  || failed=`expr $failed + 1` 
+    testit "smbclient mkdir" $SMBCLIENT //$SERVER/local_nosymlinks -c 'recurse;mkdir $test_dir_relative'  || failed=`expr $failed + 1` 
+    testit "smbclient mkdir dir1" $SMBCLIENT //$SERVER/local_nosymlinks -c 'recurse;mkdir slink_target_dir_relative'  || failed=`expr $failed + 1` 
 
-    mkdir -p $test_dir
-    mkdir $slink_target_dir
     ln -s $slink_target_dir $slink_name
 
 # Can we cd into the symlink name and ls ?