#!/bin/sh
out=/tmp/m4-out.$$
err=/tmp/m4-err.$$
xout=/tmp/m4-xout.$$
xerr=/tmp/m4-xerr.$$
trap "rm -f $out $err $xout $xerr; exit 1" 1 2 15
m4 --version
for file
do
echo "Checking $file"
LC_MESSAGES=C m4 -d $file >$out 2>$err
sed -e '/^dnl @result{}/!d' -e 's///' $file > $xout
if cmp -s $out $xout; then
:
else
failed="$failed $file:out"
echo `sed -e 's/^dnl //' -e 1q $file`
echo "$file: stdout mismatch"
diff $xout $out
fi
sed -e '/^dnl @error{}/!d' -e 's///' $file > $xerr
if cmp -s $err $xerr; then
:
else
failed="$failed $file:err"
echo `sed -e 's/^dnl //' -e 1q $file`
echo "$file: stderr mismatch"
diff $xerr $err
fi
done
rm -f $out $err $xout $xerr
echo
if test -z "$failed"; then
echo "All checks successful"
else
echo "Failed checks were:"
echo " $failed"
fi