ckscripts.sh revision 16
1#!/bin/sh - 2# This script runs the .ed scripts generated by mkscripts.sh 3# and compares their output against the .r files, which contain 4# the correct output 5 6PATH="/bin:/usr/bin:/usr/local/bin/:." 7ED=$1 8[ X"$ED" = X -o ! -x $ED ] && ED="../ed" 9[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; } 10 11# Run the *-err.ed scripts first, since these don't generate output; 12# rename then to *-err.ed~; they exit with non-zero status 13for i in *-err.ed; do 14 echo $i~ 15 if $i; then 16 echo "*** The script $i~ exited abnormally ***" 17 fi 18 mv $i $i~ 19done >errs.o 2>&1 20 21# Run the remainding scripts; they exit with zero status 22for i in *.ed; do 23 base=`expr $i : '\([^.]*\)'` 24# base=`echo $i | sed 's/\..*//'` 25# base=`$ED - \!"echo \\\\$i" <<-EOF 26# s/\..* 27# EOF` 28 if $base.ed; then 29 if cmp -s $base.o $base.r; then :; else 30 echo "*** Output $base.o of script $i is incorrect ***" 31 fi 32 else 33 echo "*** The script $i exited abnormally ***" 34 fi 35done >scripts.o 2>&1 36 37grep -h '\*\*\*' errs.o scripts.o 38