xref: /openbsd-src/regress/usr.bin/ftp/dasho.sh (revision 88b943c0171162105f4f3e4f5af945f4f77495ba)
1#!/bin/sh
2#	$OpenBSD: dasho.sh,v 1.3 2018/07/08 17:36:47 martijn Exp $
3
4: ${FTP:=ftp}
5
6mkdir temp && tmpdir=$(readlink -f temp) || exit 1
7
8trap 'rm -rf "$tmpdir"' EXIT
9trap 'rm -rf "$tmpdir"; exit 1' INT HUP TERM
10
11cd "$tmpdir" || exit 1
12
13mkdir src dest &&
14cd dest || exit 1
15
16echo 'DASH' >> ../src/-
17echo 'XXXX' >> ../src/X
18
19args=$1
20exitcode=$2
21stdout=$3
22stderr=$4
23files=$5
24
25echo "Testing ${FTP} $1"
26
27eval "\"\$FTP\" $1" >../stdout 2>../stderr
28echo -n $? > ../exitcode
29for a in *; do
30	test -e $a || continue
31	print -rn -- "[$a] "
32	cat ./$a
33done >../files
34
35result=0
36for a in exitcode stdout stderr files; do
37	if ! eval "[ X\"\$$a\" == X\"$(<../$a)\" ]"; then
38		echo "*** $a ***"
39		echo "expected:"
40		eval "print -r -- \"\$$a\"" | sed 's/^/> /'
41		echo "got:"
42		cat ../$a | sed 's/^/> /'
43		echo
44		result=1
45	fi
46done
47
48exit $result
49