37 lines
800 B
Bash
Executable File
37 lines
800 B
Bash
Executable File
#! /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-$$
|