regress test recursive remote-remote directories copies where the
authordjm <djm@openbsd.org>
Fri, 8 Sep 2023 06:10:57 +0000 (06:10 +0000)
committerdjm <djm@openbsd.org>
Fri, 8 Sep 2023 06:10:57 +0000 (06:10 +0000)
directory contains a symlink to another directory.

also remove errant `set -x` that snuck in at some point

regress/usr.bin/ssh/scp3.sh

index 383121f..eeb7a9d 100644 (file)
@@ -1,10 +1,8 @@
-#      $OpenBSD: scp3.sh,v 1.4 2023/01/13 04:47:34 dtucker Exp $
+#      $OpenBSD: scp3.sh,v 1.5 2023/09/08 06:10:57 djm Exp $
 #      Placed in the Public Domain.
 
 tid="scp3"
 
-set -x
-
 COPY2=${OBJ}/copy2
 DIR=${COPY}.dd
 DIR2=${COPY}.dd2
@@ -22,6 +20,17 @@ scpclean() {
        chmod 755 ${DIR} ${DIR2}
 }
 
+# Create directory structure for recursive copy tests.
+forest() {
+       scpclean
+       rm -rf ${DIR2}
+       cp ${DATA} ${DIR}/copy
+       ln -s ${DIR}/copy ${DIR}/copy-sym
+       mkdir ${DIR}/subdir
+       cp ${DATA} ${DIR}/subdir/copy
+       ln -s ${DIR}/subdir ${DIR}/subdir-sym
+}
+
 for mode in scp sftp ; do
        scpopts="-F${OBJ}/ssh_proxy -S ${SSH} -q"
        tag="$tid: $mode mode"
@@ -43,9 +52,7 @@ for mode in scp sftp ; do
        cmp ${COPY} ${DIR}/copy || fail "corrupted copy"
 
        verbose "$tag: recursive remote dir to remote dir"
-       scpclean
-       rm -rf ${DIR2}
-       cp ${DATA} ${DIR}/copy
+       forest
        $SCP $scpopts -3r hostA:${DIR} hostB:${DIR2} || fail "copy failed"
        diff -r ${DIR} ${DIR2} || fail "corrupted copy"
        diff -r ${DIR2} ${DIR} || fail "corrupted copy"