summaryrefslogtreecommitdiff
path: root/bin/ed/test/mkscripts.sh
blob: 2bf9b213235b9e4a9b0e64e9297aa1f1dc3a686b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh -
#	$OpenBSD: mkscripts.sh,v 1.2 1996/06/23 14:20:08 deraadt Exp $
#	$NetBSD: mkscripts.sh,v 1.10 1995/04/23 10:07:36 cgd Exp $
#
# This script generates ed test scripts (.ed) from .t files

PATH="/bin:/usr/bin:/usr/local/bin/:."
ED=$1
[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }

for i in *.t; do
#	base=${i%.*}
#	base=`echo $i | sed 's/\..*//'`
#	base=`expr $i : '\([^.]*\)'`
#	(
#	echo "#!/bin/sh -"
#	echo "$ED - <<\EOT"
#	echo "r $base.d"
#	cat $i
#	echo "w $base.o"
#	echo EOT
#	) >$base.ed
#	chmod +x $base.ed
# The following is pretty ugly way of doing the above, and not appropriate 
# use of ed  but the point is that it can be done...
	base=`$ED - \!"echo $i" <<-EOF
		s/\..*
	EOF`
	$ED - <<-EOF
		a
		#!/bin/sh -
		$ED - <<\EOT
		H
		r $base.d
		w $base.o
		EOT
		.
		-2r $i
		w $base.ed
		!chmod +x $base.ed
	EOF
done

for i in *.err; do
#	base=${i%.*}
#	base=`echo $i | sed 's/\..*//'`
#	base=`expr $i : '\([^.]*\)'`
#	(
#	echo "#!/bin/sh -"
#	echo "$ED - <<\EOT"
#	echo H
#	echo "r $base.err"
#	cat $i
#	echo "w $base.o"
#	echo EOT
#	) >$base-err.ed
#	chmod +x $base-err.ed
# The following is pretty ugly way of doing the above, and not appropriate 
# use of ed  but the point is that it can be done...
	base=`$ED - \!"echo $i" <<-EOF
		s/\..*
	EOF`
	$ED - <<-EOF
		a
		#!/bin/sh -
		$ED - <<\EOT
		H
		r $base.err
		w $base.o
		EOT
		.
		-2r $i
		w ${base}.red
		!chmod +x ${base}.red
	EOF
done