- djm@cvs.openbsd.org 2004/06/13 15:04:08

[regress/Makefile regress/test-exec.sh, added regress/multiplex.sh]
     regress test for client multiplexing; ok markus@
This commit is contained in:
Darren Tucker 2004-06-16 20:22:22 +10:00
parent 50433a9243
commit e7d0583f36
4 changed files with 68 additions and 4 deletions

View File

@ -9,6 +9,9 @@
- dtucker@cvs.openbsd.org 2004/06/13 13:51:02
[Makefile test-exec.sh]
Add scp regression test; with & ok markus@
- djm@cvs.openbsd.org 2004/06/13 15:04:08
[Makefile test-exec.sh]
regress test for client multiplexing; ok markus@
20040615
- (djm) OpenBSD CVS Sync
@ -1234,4 +1237,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
$Id: ChangeLog,v 1.3390 2004/06/16 10:15:59 dtucker Exp $
$Id: ChangeLog,v 1.3391 2004/06/16 10:22:22 dtucker Exp $

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.29 2004/06/13 13:51:02 dtucker Exp $
# $OpenBSD: Makefile,v 1.30 2004/06/13 15:04:08 djm Exp $
REGRESS_TARGETS= t1 t2 t3 t4 t5 t6 t7 t-exec
tests: $(REGRESS_TARGETS)
@ -36,7 +36,8 @@ LTESTS= connect \
sftp-batch \
reconfigure \
dynamic-forward \
forwarding
forwarding \
multiplex
USER!= id -un
CLEANFILES= t2.out t6.out1 t6.out2 t7.out t7.out.pub copy.1 copy.2 \

55
regress/multiplex.sh Normal file
View File

@ -0,0 +1,55 @@
# $OpenBSD: multiplex.sh,v 1.1 2004/06/13 15:04:08 djm Exp $
# Placed in the Public Domain.
CTL=$OBJ/ctl-sock
tid="connection multiplexing"
start_sshd
trace "start master, fork to background"
${SSH} -2 -MS$CTL -F $OBJ/ssh_config -f somehost sleep 60
trace "ssh transfer over multiplexed connection and check result"
${SSH} -S$CTL otherhost cat /bin/ls > $OBJ/ls.copy
test -f $OBJ/ls.copy || fail "failed copy /bin/ls"
cmp /bin/ls $OBJ/ls.copy || fail "corrupted copy of /bin/ls"
trace "ssh transfer over multiplexed connection and check result"
${SSH} -S $CTL otherhost cat /bin/ls > $OBJ/ls.copy
test -f $OBJ/ls.copy || fail "failed copy /bin/ls"
cmp /bin/ls $OBJ/ls.copy || fail "corrupted copy of /bin/ls"
rm -f $OBJ/ls.copy
trace "sftp transfer over multiplexed connection and check result"
echo "get /bin/ls $OBJ/ls.copy" | \
${SFTP} -oControlPath=$CTL otherhost
test -f $OBJ/ls.copy || fail "failed copy /bin/ls"
cmp /bin/ls $OBJ/ls.copy || fail "corrupted copy of /bin/ls"
rm -f $OBJ/ls.copy
trace "scp transfer over multiplexed connection and check result"
${SCP} -oControlPath=$CTL otherhost:/bin/ls $OBJ/ls.copy
test -f $OBJ/ls.copy || fail "failed copy /bin/ls"
cmp /bin/ls $OBJ/ls.copy || fail "corrupted copy of /bin/ls"
for s in 0 1 4 5 44; do
trace "exit status $s over multiplexed connection"
verbose "test $tid: status $s"
${SSH} -S $CTL otherhost exit $s
r=$?
if [ $r -ne $s ]; then
fail "exit code mismatch for protocol $p: $r != $s"
fi
# same with early close of stdout/err
trace "exit status $s with early close over multiplexed connection"
${SSH} -S $CTL -n otherhost \
exec sh -c \'"sleep 2; exec > /dev/null 2>&1; sleep 3; exit $s"\'
r=$?
if [ $r -ne $s ]; then
fail "exit code (with sleep) mismatch for protocol $p: $r != $s"
fi
done
sleep 30 # early close test sleeps 5 seconds per test

View File

@ -1,4 +1,4 @@
# $OpenBSD: test-exec.sh,v 1.17 2004/06/13 13:51:02 dtucker Exp $
# $OpenBSD: test-exec.sh,v 1.18 2004/06/13 15:04:08 djm Exp $
# Placed in the Public Domain.
PORT=4242
@ -41,6 +41,7 @@ unset SSH_AUTH_SOCK
# defaults
SSH=ssh
SSHD=sshd
SCP=scp
SSHAGENT=ssh-agent
SSHADD=ssh-add
SSHKEYGEN=ssh-keygen
@ -55,6 +56,9 @@ fi
if [ "x$TEST_SSH_SSHD" != "x" ]; then
SSHD="${TEST_SSH_SSHD}"
fi
if [ "x$TEST_SSH_SCP" != "x" ]; then
SCP="${TEST_SSH_SCP}"
fi
if [ "x$TEST_SSH_SSHAGENT" != "x" ]; then
SSHAGENT="${TEST_SSH_SSHAGENT}"
fi
@ -168,6 +172,7 @@ cat << EOF > $OBJ/sshd_config
LogLevel QUIET
AcceptEnv _XXX_TEST_*
AcceptEnv _XXX_TEST
Subsystem sftp $SFTPSERVER
StrictModes no
EOF