]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: regress test for in-place transfers and clobbering larger
authordjm@openbsd.org <djm@openbsd.org>
Sun, 15 May 2022 23:48:07 +0000 (23:48 +0000)
committerDamien Miller <djm@mindrot.org>
Mon, 16 May 2022 12:59:11 +0000 (22:59 +1000)
files with smaller ones; would have caught last regression in scp(1)

OpenBSD-Regress-ID: 19de4e88dd3a4f7e5c1618c9be3c32415bd93bc2

regress/scp.sh

index 358a8df66b1c681ec44e41d23382694cc15982ba..f47c594572fd4cddf352e259671eb259b84d309e 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: scp.sh,v 1.13 2021/08/10 03:35:45 djm Exp $
+#      $OpenBSD: scp.sh,v 1.14 2022/05/15 23:48:07 djm Exp $
 #      Placed in the Public Domain.
 
 tid="scp"
@@ -49,6 +49,31 @@ for mode in scp sftp ; do
        $SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed"
        cmp ${DATA} ${COPY} || fail "corrupted copy"
 
+       verbose "$tag: copy local file to remote file in place"
+       scpclean
+       cp ${DATA} ${COPY}
+       $SCP $scpopts ${COPY} somehost:${COPY} || fail "copy failed"
+       cmp ${DATA} ${COPY} || fail "corrupted copy"
+
+       verbose "$tag: copy remote file to local file in place"
+       scpclean
+       cp ${DATA} ${COPY}
+       $SCP $scpopts somehost:${COPY} ${COPY} || fail "copy failed"
+       cmp ${DATA} ${COPY} || fail "corrupted copy"
+
+       verbose "$tag: copy local file to remote file clobber"
+       scpclean
+       cat ${DATA} ${DATA} > ${COPY}
+       $SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed"
+       ls -l $DATA $COPY
+       cmp ${DATA} ${COPY} || fail "corrupted copy"
+
+       verbose "$tag: copy remote file to local file clobber"
+       scpclean
+       cat ${DATA} ${DATA} > ${COPY}
+       $SCP $scpopts somehost:${DATA} ${COPY} || fail "copy failed"
+       cmp ${DATA} ${COPY} || fail "corrupted copy"
+
        verbose "$tag: simple copy local file to remote dir"
        scpclean
        cp ${DATA} ${COPY}