regress test for in-place transfers and clobbering larger files with
authordjm <djm@openbsd.org>
Sun, 15 May 2022 23:48:07 +0000 (23:48 +0000)
committerdjm <djm@openbsd.org>
Sun, 15 May 2022 23:48:07 +0000 (23:48 +0000)
smaller ones; would have caught last regression in scp(1)

regress/usr.bin/ssh/scp.sh

index 8441153..f7fd1f7 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"
@@ -42,6 +42,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}