]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - tools/tools/mctest/mctest_run.sh
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / tools / tools / mctest / mctest_run.sh
1 #!/bin/sh
2
3 # A program to act as a test harness for the mctest program
4 #
5 # $FreeBSD$
6 #
7 # Defaults
8 size=1024
9 number=100
10 base=""
11 group=""
12 interface="cxgb0"
13 remote="ssh"
14 command="/sources/FreeBSD.CURRENT/src/tools/tools/mctest/mctest"
15 gap=1000
16
17 # Arguments are s (size), g (group), n (number), and c (command) followed
18 # by a set of hostnames.
19 args=`getopt s:g:n:c:i:b: $*`
20 if [ $? != 0 ]
21 then
22     echo 'Usage: mctest_run -s size -g group -n number -c remote command host1 host2 hostN'
23     exit 2
24 fi
25 set == $args
26 count=0
27 for i
28 do
29   case "$i"
30       in
31       -s) 
32           size=$3; 
33           shift 2;;
34       -n)
35           number=$3;
36           shift 2;;
37       -g)
38           group=$3;
39           shift 2;;
40       -c)
41           command=$3;
42           shift 2;;
43       -i)
44           interface=$3;
45           shift 2;;
46       -b) 
47           base=$3;
48           shift 2;;
49       --)
50           shift; break;;
51       esac
52 done
53
54 #
55 # Start our remote sink/reflectors
56 #
57 shift;
58 current=0
59 now=`date "+%Y%m%d%H%M"`
60 for host in $*
61 do
62   output=$host\_$interface\_$size\_$number\.$now
63   $remote $host $command -r -M $# -b $base -g $group -m $current -n $number -s $size -i $interface > $output &
64   sleep 1
65   current=`expr $current + 1 `;
66 done
67
68 #
69 # Start the source/collector on this machine
70 #
71 $command -M $# -b $base -g $group -n $number -s $size -i $interface -t $gap > `uname -n`\_$size\_$number\.$now