xref: /openbsd/regress/usr.bin/ssh/ssh-com-sftp.sh (revision cecf84d4)
1#	$OpenBSD: ssh-com-sftp.sh,v 1.7 2013/05/17 04:29:14 dtucker Exp $
2#	Placed in the Public Domain.
3
4tid="basic sftp put/get with ssh.com server"
5
6BUFFERSIZE="5 1000 32000 64000"
7REQUESTS="1 2 10"
8
9#TEST_COMBASE=/path/to/ssh/com/binaries
10if [ "X${TEST_COMBASE}" = "X" ]; then
11	fatal '$TEST_COMBASE is not set'
12fi
13
14VERSIONS="
15	2.0.10
16	2.0.12
17	2.0.13
18	2.1.0
19	2.2.0
20	2.3.0
21	2.3.1
22	2.4.0
23	3.0.0
24	3.1.0
25	3.2.0
26	3.2.2
27	3.2.3
28	3.2.5
29	3.2.9
30	3.2.9.1
31	3.3.0"
32
33# go for it
34for v in ${VERSIONS}; do
35	server=${TEST_COMBASE}/${v}/sftp-server2
36	if [ ! -x ${server} ]; then
37		continue
38	fi
39	verbose "sftp-server $v"
40	for B in ${BUFFERSIZE}; do
41		for R in ${REQUESTS}; do
42			verbose "test $tid: buffer_size $B num_requests $R"
43			rm -f ${COPY}.1 ${COPY}.2
44			${SFTP} -D ${server} -B $B -R $R -b /dev/stdin \
45			> /dev/null 2>&1 << EOF
46			version
47			get $DATA ${COPY}.1
48			put $DATA ${COPY}.2
49EOF
50			r=$?
51			if [ $r -ne 0 ]; then
52				fail "sftp failed with $r"
53			fi
54			cmp $DATA ${COPY}.1 || fail "corrupted copy after get"
55			cmp $DATA ${COPY}.2 || fail "corrupted copy after put"
56		done
57	done
58done
59