summaryrefslogtreecommitdiffstats
path: root/regress/scp.sh
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2022-05-16 01:48:07 +0200
committerDamien Miller <djm@mindrot.org>2022-05-16 14:59:11 +0200
commitbedb93415b60db3dfd704a3d525e82adb14a2481 (patch)
tree714a366a548631e997858286763c831054c01e79 /regress/scp.sh
parentupstream: Only run agent-ptrace.sh if gdb is available as all (diff)
downloadopenssh-bedb93415b60db3dfd704a3d525e82adb14a2481.tar.xz
openssh-bedb93415b60db3dfd704a3d525e82adb14a2481.zip
upstream: regress test for in-place transfers and clobbering larger
files with smaller ones; would have caught last regression in scp(1) OpenBSD-Regress-ID: 19de4e88dd3a4f7e5c1618c9be3c32415bd93bc2
Diffstat (limited to 'regress/scp.sh')
-rw-r--r--regress/scp.sh27
1 files changed, 26 insertions, 1 deletions
diff --git a/regress/scp.sh b/regress/scp.sh
index 358a8df66..f47c59457 100644
--- a/regress/scp.sh
+++ b/regress/scp.sh
@@ -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}