[openssh-commits] [openssh] 06/07: upstream: Add regress test for sftp resume.
git+noreply at mindrot.org
git+noreply at mindrot.org
Tue Mar 11 19:26:17 AEDT 2025
This is an automated email from the git hooks/post-receive script.
dtucker pushed a commit to branch master
in repository openssh.
commit 4bcbac742968f5086cfd4c570a51de25ef77931f
Author: dtucker at openbsd.org <dtucker at openbsd.org>
AuthorDate: Tue Mar 11 07:50:20 2025 +0000
upstream: Add regress test for sftp resume.
OpenBSD-Regress-ID: 37f629b3014338fa23a85df1e1bb320ea12282e1
---
regress/Makefile | 3 ++-
regress/sftp-resume.sh | 41 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/regress/Makefile b/regress/Makefile
index 7f734970..7e7f95b5 100644
--- a/regress/Makefile
+++ b/regress/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.135 2024/06/14 04:43:11 djm Exp $
+# $OpenBSD: Makefile,v 1.136 2025/03/11 07:50:20 dtucker Exp $
tests: prep file-tests t-exec unit
@@ -65,6 +65,7 @@ LTESTS= connect \
sftp-batch \
sftp-glob \
sftp-perm \
+ sftp-resume \
sftp-uri \
reconfigure \
dynamic-forward \
diff --git a/regress/sftp-resume.sh b/regress/sftp-resume.sh
new file mode 100644
index 00000000..4c2f6f11
--- /dev/null
+++ b/regress/sftp-resume.sh
@@ -0,0 +1,41 @@
+# $OpenBSD: sftp-resume.sh,v 1.1 2025/03/11 07:50:20 dtucker Exp $
+# Placed in the Public Domain.
+
+tid="sftp resume"
+
+CLIENT_LOG=${OBJ}/sftp.log
+
+# We test up to 1MB, ensure source data is large enough.
+increase_datafile_size 1200
+
+for cmd in put get; do
+ verbose "$tid: ${cmd}"
+ for size in 0 1 1k 1m size-1 same; do
+ trace "$tid: test ${cmd} ${size}"
+ rm -rf ${COPY}.1 ${COPY}.2
+ cp ${DATA} ${COPY}.1
+
+ # Set up requested source and destination file sizes.
+ case "${size}" in
+ 0) touch ${COPY}.2
+ ;;
+ size-1) dd if=${DATA} of=${COPY}.1 bs=1024 count=1 >/dev/null 2>&1
+ dd if=${DATA} of=${COPY}.2 bs=1023 count=1 >/dev/null 2>&1
+ ;;
+ same) cp ${DATA} ${COPY}.2
+ ;;
+ *) dd if=${COPY}.1 of=${COPY}.2 bs=${size} count=1 >/dev/null 2>&1
+ ;;
+ esac
+
+ # Perform copy and check.
+ echo "${cmd} -a ${COPY}.1 ${COPY}.2" | \
+ ${SFTP} -D ${SFTPSERVER} -vvv >${CLIENT_LOG} 2>&1 \
+ || fail "${cmd} failed"
+ cmp ${COPY}.1 ${COPY}.2 || fail "corrupted copy after ${cmd} ${size}"
+ grep "reordered" ${CLIENT_LOG} >/dev/null && \
+ fail "server reordered requests ${cmd} ${size}"
+ done
+done
+
+rm -rf ${COPY}.1 ${COPY}.2
--
To stop receiving notification emails like this one, please contact
djm at mindrot.org.
More information about the openssh-commits
mailing list