home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- ####################################################
- # This software released to the public domain #
- # without restrictions of any kind. #
- ####################################################
- #
- # @(#)ibench 3.1 9/22/89
-
- def_baud="9600 exta extb"
- def_flow="ixoff"
- def_mode="-icanon"
-
- tty=
- baud=
- mode=
- len=
- min=0
-
- while [ "$1" ]
- do
- case "$1" in
-
- 50|75|110|1200|2400|4800|9600|19200|38400|exta|extb)
- def_baud=
- baud="$baud $1"
- ;;
-
- [1-9]|1[0-6])
- min=$1
- ;;
-
- 19200,exta|38400,extb|exta,19200|extb,38400)
- def_baud=
- baud="$baud $1"
- ;;
-
- ixoff|-ixoff)
- def_flow=
- flow="$flow $1"
- ;;
-
- icanon|-icanon)
- def_mode=
- mode="$mode $1"
- ;;
-
- /dev/*)
- tty="$tty $1"
- ;;
-
- tty*|cu*)
- tty="$tty /dev/$1"
- ;;
-
- *)
- tty="$tty /dev/tty$1"
- ;;
- esac
-
- shift
- done
-
- baud="$def_baud $baud"
- mode="$def_mode $mode"
- flow="$def_flow $flow"
-
- ctty=`expr "$tty" : ' *\([^ ]*\)'`
-
- lastb=0
- for b in $baud
- do
- b1=`expr "$b" : '\(.*\),.*' \| "$b"` ;
- b2=`expr "$b" : '.*,\(.*\)' \| "$b"` ;
-
- if [ $lastb != 0 -a $b1 != $lastb ]
- then
- for i in $tty
- do
- (
- stty $lastb -echo -icanon -opost
- perf -c "stty $b2"
- sleep 5
- ) <$i >$i &
- done
- wait
- fi
- lastb=$b1
-
- case $b1 in
- 50) vol=574000 ;;
- 75) vol=768000 ;;
- 110) vol=1152000 ;;
- 1200) vol=12000 ;;
- 2400) vol=24000 ;;
- 4800) vol=48000 ;;
- 9600) vol=96000 ;;
- exta|19200) vol=192000 ;;
- extb|38400) vol=384000 ;;
- esac
-
-
- for f in $flow
- do
- for m in $mode
- do
- t=
- n=0
-
- for i in $tty
- do
- t="$t $i"
- n=`expr $n + 1`
-
- [ $n -ge $min ] || continue
-
- msg="tty=$n, baud=$b1, mode=$m, flow=$f"
- echo "SEND $msg"
-
- (
- stty $b1 -echo -opost -icanon
- perf -e "TEST $msg"
- perf -c "(sleep 30 ; cpu -t 50)&"
- ) <$ctty >$ctty
-
- for j in $t
- do
- (
- stty $b1 -opost -echo -icanon ixon
- perf -c "stty $m $f"
- sleep 5
- perf $vol
- ) <$j >$j &
- done
-
- wait
- sleep 10
- done
- done
- done
- done 2>&1
-