xref: /freebsd/crypto/openssh/regress/exit-status.sh (revision d8a0fe102c0cfdfcd5b818f850eff09d8536c9bc)
1#	$OpenBSD: exit-status.sh,v 1.7 2015/03/03 22:35:19 markus Exp $
2#	Placed in the Public Domain.
3
4tid="remote exit status"
5
6for p in ${SSH_PROTOCOLS}; do
7	for s in 0 1 4 5 44; do
8		trace "proto $p status $s"
9		verbose "test $tid: proto $p status $s"
10		${SSH} -$p -F $OBJ/ssh_proxy otherhost exit $s
11		r=$?
12		if [ $r -ne $s ]; then
13			fail "exit code mismatch for protocol $p: $r != $s"
14		fi
15
16		# same with early close of stdout/err
17		${SSH} -$p -F $OBJ/ssh_proxy -n otherhost \
18                	exec sh -c \'"sleep 2; exec > /dev/null 2>&1; sleep 3; exit $s"\'
19		r=$?
20		if [ $r -ne $s ]; then
21			fail "exit code (with sleep) mismatch for protocol $p: $r != $s"
22		fi
23	done
24done
25