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