mkscripts.sh revision 16
11590Srgrimes#!/bin/sh -
21590Srgrimes# This script generates ed test scripts (.ed) from .t files
31590Srgrimes
41590SrgrimesPATH="/bin:/usr/bin:/usr/local/bin/:."
51590SrgrimesED=$1
61590Srgrimes[ X"$ED" = X -o ! -x $ED ] && ED="../ed"
71590Srgrimes[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
81590Srgrimes
91590Srgrimesfor i in *.t; do
101590Srgrimes#	base=${i%.*}
111590Srgrimes#	base=`echo $i | sed 's/\..*//'`
121590Srgrimes	base=`expr $i : '\([^.]*\)'`
131590Srgrimes	(
141590Srgrimes	echo "#!/bin/sh -"
151590Srgrimes	echo "$ED - <<\EOT"
161590Srgrimes	echo "r \\$base.d"
171590Srgrimes	cat $i
181590Srgrimes	echo "w \\$base.o"
191590Srgrimes	echo EOT
201590Srgrimes	) >$base.ed
211590Srgrimes	chmod +x $base.ed
221590Srgrimes# The following is pretty ugly and not appropriate use of ed
231590Srgrimes# but the point is that it can be done...
241590Srgrimes#	base=`$ED - \!"echo \\\\$i" <<-EOF
251590Srgrimes#		s/\..*
261590Srgrimes#	EOF`
271590Srgrimes#	$ED - <<-EOF
281590Srgrimes#		a
291590Srgrimes#		#!/bin/sh -
301590Srgrimes#		$ED - <<\EOT
311590Srgrimes#		r \\$base.d
321590Srgrimes#		w \\$base.o
331590Srgrimes#		EOT
341590Srgrimes#		.
351590Srgrimes#		-2r \\$i
361590Srgrimes#		w \\$base.ed
3787712Smarkm#		!chmod +x \\$base.ed
3887712Smarkm#	EOF
3987712Smarkmdone
4087712Smarkm
411590Srgrimesfor i in *.err; do
4287712Smarkm#	base=${i%.*}
4369528Sasmodai#	base=`echo $i | sed 's/\..*//'`
441590Srgrimes	base=`expr $i : '\([^.]*\)'`
451590Srgrimes	(
461590Srgrimes	echo "#!/bin/sh -"
4774876Sdwmalone	echo "$ED - <<\EOT"
4887712Smarkm	echo H
4987712Smarkm	echo "r \\$base.err"
501590Srgrimes	cat $i
511590Srgrimes	echo "w \\$base.o"
521590Srgrimes	echo EOT
531590Srgrimes	) >$base-err.ed
5487712Smarkm	chmod +x $base-err.ed
5587712Smarkm#	base=`$ED - \!"echo \\\\$i" <<-EOF
561590Srgrimes#		s/\..*
571590Srgrimes#	EOF`
581590Srgrimes#	$ED - <<-EOF
591590Srgrimes#		a
601590Srgrimes#		#!/bin/sh -
6117833Sadam#		$ED - <<\EOT
6217833Sadam#		H
631590Srgrimes#		r \\$base.err
641590Srgrimes#		w \\$base.o
651590Srgrimes#		EOT
661590Srgrimes#		.
671590Srgrimes#		-2r \\$i
6817825Speter#		w \\${base}-err.ed
691590Srgrimes#		!chmod +x ${base}-err.ed
7074876Sdwmalone#	EOF
7174876Sdwmalonedone
7274876Sdwmalone