after 800 B

123456789101112131415161718192021222324252627282930313233343536
  1. #! /bin/sh
  2. # Do common operations after a particular test.
  3. cd ..
  4. exec 1> /dev/null
  5. exec 2> /dev/null
  6. compare() {
  7. eval tempfile=tmp-$$/std${1}
  8. eval echo \""\${$1}"\" | sed '$d' > ${tempfile}0
  9. sedscript=tmp-$$/${1}.sed
  10. if eval test \".\${${1}_ignore}\" = .; then
  11. :
  12. else
  13. eval echo \"\${${1}_ignore}\" | sed 's,^.*$,/&/d,;' > $sedscript
  14. sed -f $sedscript ${tempfile} > ${tempfile}.1
  15. mv ${tempfile}.1 ${tempfile}
  16. fi
  17. if eval test -z "\${${1}_regex}" ; then
  18. cmp -s ${tempfile}0 ${tempfile} || exit 1
  19. else
  20. awk '{print NR " " $0}' ${tempfile}0 > ${tempfile}.1
  21. awk '{print NR " " $0}' ${tempfile} | join ${tempfile}.1 - |
  22. while read NUM RE LINE
  23. do
  24. echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
  25. done
  26. fi
  27. }
  28. compare out
  29. compare err
  30. rm -rf tmp-$$