#! /bin/sh # Do common operations after a particular test. cd .. exec 1> /dev/null exec 2> /dev/null compare() { eval tempfile=tmp-$$/std${1} eval echo \""\${$1}"\" | sed '$d' > ${tempfile}0 sedscript=tmp-$$/${1}.sed if eval test \".\${${1}_ignore}\" = .; then : else eval echo \"\${${1}_ignore}\" | sed 's,^.*$,/&/d,;' > $sedscript sed -f $sedscript ${tempfile} > ${tempfile}.1 mv ${tempfile}.1 ${tempfile} fi if eval test -z "\${${1}_regex}" ; then cmp -s ${tempfile}0 ${tempfile} || exit 1 else awk '{print NR " " $0}' ${tempfile}0 > ${tempfile}.1 awk '{print NR " " $0}' ${tempfile} | join ${tempfile}.1 - | while read NUM RE LINE do echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 done fi } compare out compare err rm -rf tmp-$$