xref: /netbsd-src/bin/ed/test/mkscripts.sh (revision d7290b768779f8854936afae9bf690197e4de897)
19b082a69Scgd#!/bin/sh -
2*d7290b76Scgd#	$NetBSD: mkscripts.sh,v 1.10 1995/04/23 10:07:36 cgd Exp $
3*d7290b76Scgd#
49b082a69Scgd# This script generates ed test scripts (.ed) from .t files
59b082a69Scgd
69b082a69ScgdPATH="/bin:/usr/bin:/usr/local/bin/:."
72621a68cSalmED=$1
82621a68cSalm[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
99b082a69Scgd
109b082a69Scgdfor i in *.t; do
119b082a69Scgd#	base=${i%.*}
1283ab6f7fSalm#	base=`echo $i | sed 's/\..*//'`
1359ddb06dSalm#	base=`expr $i : '\([^.]*\)'`
1459ddb06dSalm#	(
1559ddb06dSalm#	echo "#!/bin/sh -"
1659ddb06dSalm#	echo "$ED - <<\EOT"
1759ddb06dSalm#	echo "r $base.d"
1859ddb06dSalm#	cat $i
1959ddb06dSalm#	echo "w $base.o"
2059ddb06dSalm#	echo EOT
2159ddb06dSalm#	) >$base.ed
2259ddb06dSalm#	chmod +x $base.ed
2359ddb06dSalm# The following is pretty ugly way of doing the above, and not appropriate
2459ddb06dSalm# use of ed  but the point is that it can be done...
2559ddb06dSalm	base=`$ED - \!"echo $i" <<-EOF
2659ddb06dSalm		s/\..*
2759ddb06dSalm	EOF`
2859ddb06dSalm	$ED - <<-EOF
2959ddb06dSalm		a
3059ddb06dSalm		#!/bin/sh -
3159ddb06dSalm		$ED - <<\EOT
3259ddb06dSalm		H
3359ddb06dSalm		r $base.d
3459ddb06dSalm		w $base.o
3559ddb06dSalm		EOT
3659ddb06dSalm		.
3759ddb06dSalm		-2r $i
3859ddb06dSalm		w $base.ed
3959ddb06dSalm		!chmod +x $base.ed
4059ddb06dSalm	EOF
41336e165cScgddone
42336e165cScgd
43336e165cScgdfor i in *.err; do
44336e165cScgd#	base=${i%.*}
45f428f042Salm#	base=`echo $i | sed 's/\..*//'`
4659ddb06dSalm#	base=`expr $i : '\([^.]*\)'`
4759ddb06dSalm#	(
4859ddb06dSalm#	echo "#!/bin/sh -"
4959ddb06dSalm#	echo "$ED - <<\EOT"
5059ddb06dSalm#	echo H
5159ddb06dSalm#	echo "r $base.err"
5259ddb06dSalm#	cat $i
5359ddb06dSalm#	echo "w $base.o"
5459ddb06dSalm#	echo EOT
5559ddb06dSalm#	) >$base-err.ed
5659ddb06dSalm#	chmod +x $base-err.ed
5759ddb06dSalm# The following is pretty ugly way of doing the above, and not appropriate
5859ddb06dSalm# use of ed  but the point is that it can be done...
5959ddb06dSalm	base=`$ED - \!"echo $i" <<-EOF
6059ddb06dSalm		s/\..*
6159ddb06dSalm	EOF`
6259ddb06dSalm	$ED - <<-EOF
6359ddb06dSalm		a
6459ddb06dSalm		#!/bin/sh -
6559ddb06dSalm		$ED - <<\EOT
6659ddb06dSalm		H
6759ddb06dSalm		r $base.err
6859ddb06dSalm		w $base.o
6959ddb06dSalm		EOT
7059ddb06dSalm		.
7159ddb06dSalm		-2r $i
7259ddb06dSalm		w ${base}.red
7359ddb06dSalm		!chmod +x ${base}.red
7459ddb06dSalm	EOF
759b082a69Scgddone
76