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