
IMPORTANT: this change has a docs/UPDATING entry! This rename is unfortunately necessary because NetBSD has decided to create its own service(8) utility, and we will want to import theirs as well. The two can obviously not coexist. Also move ours from /bin to /sbin, as it is a superuser-only utility. Change-Id: Ic6e46ffb3a84b4747d2fdcb0d74e62dbea065039
66 lines
1.1 KiB
Bash
66 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
LABEL=e1000_0
|
|
NAME=e1000
|
|
EXEDIR=/service
|
|
EXE=$EXEDIR/$NAME
|
|
|
|
:>log
|
|
|
|
start_driver()
|
|
{
|
|
minix-service up $EXE -label $LABEL -script /etc/rs.single -period 3HZ
|
|
}
|
|
|
|
do_one()
|
|
{
|
|
# $1 = test-nr, $2 = count, $3 = seed
|
|
pid=''
|
|
while [ X"$pid" = X ]
|
|
do
|
|
pid=`ps ax | grep $NAME | grep -v grep |
|
|
sed 's,^[ ]*,,;s,[ ].*,,'`
|
|
if [ X"$pid" != X ]
|
|
then
|
|
break
|
|
fi
|
|
sleep 10
|
|
done
|
|
echo pid = $pid
|
|
swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
|
sleep 1
|
|
kill -0 $pid &&
|
|
echo "driver survived, params: test $1, count $2, seed $3" ||
|
|
start_driver
|
|
}
|
|
|
|
one_round()
|
|
{
|
|
# $1 = count, $2 = seed
|
|
count=$1
|
|
seed=$2
|
|
echo "Seed: $seed" >> log
|
|
sync
|
|
do_one 6 $count $seed # Source fault
|
|
do_one 5 $count $seed # Destination fault
|
|
do_one 8 $count $seed # Pointer fault
|
|
do_one 14 $count $seed # Interface fault
|
|
do_one 12 $count $seed # Loop fault
|
|
do_one 0 $count $seed # Text fault
|
|
do_one 4 $count $seed # Nop fault
|
|
}
|
|
|
|
# Start our own driver.
|
|
minix-service down $LABEL
|
|
sleep 10 # Allow driver to die
|
|
start_driver
|
|
|
|
i=0
|
|
i=4000
|
|
while [ $i -lt 10000 ]
|
|
do
|
|
echo "Seed: $i"
|
|
one_round 100 $i
|
|
i=`expr $i + 1`
|
|
done
|