xref: /openbsd-src/regress/usr.bin/ssh/ssh-com-sftp.sh (revision 55727a1798ffd4690a6788201f97913c4959bc6f)
1*55727a17Sdtucker#	$OpenBSD: ssh-com-sftp.sh,v 1.7 2013/05/17 04:29:14 dtucker Exp $
20e79abb9Smarkus#	Placed in the Public Domain.
30e79abb9Smarkus
40e79abb9Smarkustid="basic sftp put/get with ssh.com server"
50e79abb9Smarkus
60e79abb9SmarkusBUFFERSIZE="5 1000 32000 64000"
70e79abb9SmarkusREQUESTS="1 2 10"
80e79abb9Smarkus
90e79abb9Smarkus#TEST_COMBASE=/path/to/ssh/com/binaries
100e79abb9Smarkusif [ "X${TEST_COMBASE}" = "X" ]; then
110e79abb9Smarkus	fatal '$TEST_COMBASE is not set'
120e79abb9Smarkusfi
130e79abb9Smarkus
140e79abb9SmarkusVERSIONS="
150e79abb9Smarkus	2.0.10
160e79abb9Smarkus	2.0.12
170e79abb9Smarkus	2.0.13
180e79abb9Smarkus	2.1.0
190e79abb9Smarkus	2.2.0
200e79abb9Smarkus	2.3.0
210e79abb9Smarkus	2.3.1
220e79abb9Smarkus	2.4.0
230e79abb9Smarkus	3.0.0
24de247f79Smarkus	3.1.0
25de247f79Smarkus	3.2.0
26357f04a7Smarkus	3.2.2
27357f04a7Smarkus	3.2.3
2846c9f5bfSmarkus	3.2.5
2946c9f5bfSmarkus	3.2.9
3046c9f5bfSmarkus	3.2.9.1
31de247f79Smarkus	3.3.0"
320e79abb9Smarkus
330e79abb9Smarkus# go for it
340e79abb9Smarkusfor v in ${VERSIONS}; do
350e79abb9Smarkus	server=${TEST_COMBASE}/${v}/sftp-server2
360e79abb9Smarkus	if [ ! -x ${server} ]; then
370e79abb9Smarkus		continue
380e79abb9Smarkus	fi
390e79abb9Smarkus	verbose "sftp-server $v"
400e79abb9Smarkus	for B in ${BUFFERSIZE}; do
410e79abb9Smarkus		for R in ${REQUESTS}; do
420e79abb9Smarkus			verbose "test $tid: buffer_size $B num_requests $R"
430e79abb9Smarkus			rm -f ${COPY}.1 ${COPY}.2
440ba1b6ceSdjm			${SFTP} -D ${server} -B $B -R $R -b /dev/stdin \
450e79abb9Smarkus			> /dev/null 2>&1 << EOF
460e79abb9Smarkus			version
470e79abb9Smarkus			get $DATA ${COPY}.1
480e79abb9Smarkus			put $DATA ${COPY}.2
490e79abb9SmarkusEOF
500e79abb9Smarkus			r=$?
510e79abb9Smarkus			if [ $r -ne 0 ]; then
520e79abb9Smarkus				fail "sftp failed with $r"
530e79abb9Smarkus			fi
540e79abb9Smarkus			cmp $DATA ${COPY}.1 || fail "corrupted copy after get"
550e79abb9Smarkus			cmp $DATA ${COPY}.2 || fail "corrupted copy after put"
560e79abb9Smarkus		done
570e79abb9Smarkus	done
580e79abb9Smarkusdone
59