/bin/ed/test/ckscripts.sh
https://bitbucket.org/freebsd/freebsd-head/ · Shell · 37 lines · 22 code · 4 blank · 11 comment · 6 complexity · 58a11a5e25600ea6df62784f74920d4c MD5 · raw file
- #!/bin/sh -
- # This script runs the .ed scripts generated by mkscripts.sh
- # and compares their output against the .r files, which contain
- # the correct output
- #
- # $FreeBSD$
- PATH="/bin:/usr/bin:/usr/local/bin/:."
- ED=$1
- [ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
- # Run the *.red scripts first, since these don't generate output;
- # they exit with non-zero status
- for i in *.red; do
- echo $i
- if $i; then
- echo "*** The script $i exited abnormally ***"
- fi
- done >errs.o 2>&1
- # Run the remainding scripts; they exit with zero status
- for i in *.ed; do
- # base=`expr $i : '\([^.]*\)'`
- # base=`echo $i | sed 's/\..*//'`
- base=`$ED - \!"echo $i" <<-EOF
- s/\..*
- EOF`
- if $base.ed; then
- if cmp -s $base.o $base.r; then :; else
- echo "*** Output $base.o of script $i is incorrect ***"
- fi
- else
- echo "*** The script $i exited abnormally ***"
- fi
- done >scripts.o 2>&1
- grep -h '\*\*\*' errs.o scripts.o