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