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