summaryrefslogtreecommitdiff
path: root/regress/stderr-data.sh
blob: 1daf79bb5c776678bfd705d43d724f058792ae0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#	$OpenBSD: stderr-data.sh,v 1.2 2002/03/27 22:39:52 markus Exp $
#	Placed in the Public Domain.

tid="stderr data transfer"

DATA=/bin/ls${EXEEXT}
COPY=${OBJ}/copy
rm -f ${COPY}

for n in '' -n; do
for p in 1 2; do
	verbose "test $tid: proto $p ($n)"
	${SSH} $n -$p -F $OBJ/ssh_proxy otherhost \
		exec sh -c \'"exec > /dev/null; sleep 3; cat ${DATA} 1>&2 $s"\' \
		2> ${COPY}
	r=$?
	if [ $r -ne 0 ]; then
		fail "ssh failed with exit code $r"
	fi
	cmp ${DATA} ${COPY}	|| fail "stderr corrupt"
	rm -f ${COPY}

	${SSH} $n -$p -F $OBJ/ssh_proxy otherhost \
		exec sh -c \'"echo a; exec > /dev/null; sleep 3; cat ${DATA} 1>&2 $s"\' \
		> /dev/null 2> ${COPY}
	r=$?
	if [ $r -ne 0 ]; then
		fail "ssh failed with exit code $r"
	fi
	cmp ${DATA} ${COPY}	|| fail "stderr corrupt"
	rm -f ${COPY}
done
done