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