xref: /minix3/bin/ed/test/mkscripts.sh (revision 7e81b07cc531920c9b93fa140b0379cb0d20a709)
1*7e81b07cSAndy Kosela#!/bin/sh -
2*7e81b07cSAndy Kosela#	$NetBSD: mkscripts.sh,v 1.10 1995/04/23 10:07:36 cgd Exp $
3*7e81b07cSAndy Kosela#
4*7e81b07cSAndy Kosela# This script generates ed test scripts (.ed) from .t files
5*7e81b07cSAndy Kosela
6*7e81b07cSAndy KoselaPATH="/bin:/usr/bin:/usr/local/bin/:."
7*7e81b07cSAndy KoselaED=$1
8*7e81b07cSAndy Kosela[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
9*7e81b07cSAndy Kosela
10*7e81b07cSAndy Koselafor i in *.t; do
11*7e81b07cSAndy Kosela#	base=${i%.*}
12*7e81b07cSAndy Kosela#	base=`echo $i | sed 's/\..*//'`
13*7e81b07cSAndy Kosela#	base=`expr $i : '\([^.]*\)'`
14*7e81b07cSAndy Kosela#	(
15*7e81b07cSAndy Kosela#	echo "#!/bin/sh -"
16*7e81b07cSAndy Kosela#	echo "$ED - <<\EOT"
17*7e81b07cSAndy Kosela#	echo "r $base.d"
18*7e81b07cSAndy Kosela#	cat $i
19*7e81b07cSAndy Kosela#	echo "w $base.o"
20*7e81b07cSAndy Kosela#	echo EOT
21*7e81b07cSAndy Kosela#	) >$base.ed
22*7e81b07cSAndy Kosela#	chmod +x $base.ed
23*7e81b07cSAndy Kosela# The following is pretty ugly way of doing the above, and not appropriate
24*7e81b07cSAndy Kosela# use of ed  but the point is that it can be done...
25*7e81b07cSAndy Kosela	base=`$ED - \!"echo $i" <<-EOF
26*7e81b07cSAndy Kosela		s/\..*
27*7e81b07cSAndy Kosela	EOF`
28*7e81b07cSAndy Kosela	$ED - <<-EOF
29*7e81b07cSAndy Kosela		a
30*7e81b07cSAndy Kosela		#!/bin/sh -
31*7e81b07cSAndy Kosela		$ED - <<\EOT
32*7e81b07cSAndy Kosela		H
33*7e81b07cSAndy Kosela		r $base.d
34*7e81b07cSAndy Kosela		w $base.o
35*7e81b07cSAndy Kosela		EOT
36*7e81b07cSAndy Kosela		.
37*7e81b07cSAndy Kosela		-2r $i
38*7e81b07cSAndy Kosela		w $base.ed
39*7e81b07cSAndy Kosela		!chmod +x $base.ed
40*7e81b07cSAndy Kosela	EOF
41*7e81b07cSAndy Koseladone
42*7e81b07cSAndy Kosela
43*7e81b07cSAndy Koselafor i in *.err; do
44*7e81b07cSAndy Kosela#	base=${i%.*}
45*7e81b07cSAndy Kosela#	base=`echo $i | sed 's/\..*//'`
46*7e81b07cSAndy Kosela#	base=`expr $i : '\([^.]*\)'`
47*7e81b07cSAndy Kosela#	(
48*7e81b07cSAndy Kosela#	echo "#!/bin/sh -"
49*7e81b07cSAndy Kosela#	echo "$ED - <<\EOT"
50*7e81b07cSAndy Kosela#	echo H
51*7e81b07cSAndy Kosela#	echo "r $base.err"
52*7e81b07cSAndy Kosela#	cat $i
53*7e81b07cSAndy Kosela#	echo "w $base.o"
54*7e81b07cSAndy Kosela#	echo EOT
55*7e81b07cSAndy Kosela#	) >$base-err.ed
56*7e81b07cSAndy Kosela#	chmod +x $base-err.ed
57*7e81b07cSAndy Kosela# The following is pretty ugly way of doing the above, and not appropriate
58*7e81b07cSAndy Kosela# use of ed  but the point is that it can be done...
59*7e81b07cSAndy Kosela	base=`$ED - \!"echo $i" <<-EOF
60*7e81b07cSAndy Kosela		s/\..*
61*7e81b07cSAndy Kosela	EOF`
62*7e81b07cSAndy Kosela	$ED - <<-EOF
63*7e81b07cSAndy Kosela		a
64*7e81b07cSAndy Kosela		#!/bin/sh -
65*7e81b07cSAndy Kosela		$ED - <<\EOT
66*7e81b07cSAndy Kosela		H
67*7e81b07cSAndy Kosela		r $base.err
68*7e81b07cSAndy Kosela		w $base.o
69*7e81b07cSAndy Kosela		EOT
70*7e81b07cSAndy Kosela		.
71*7e81b07cSAndy Kosela		-2r $i
72*7e81b07cSAndy Kosela		w ${base}.red
73*7e81b07cSAndy Kosela		!chmod +x ${base}.red
74*7e81b07cSAndy Kosela	EOF
75*7e81b07cSAndy Koseladone
76