1875abb87SDavid van Moolenbroek#!/bin/sh 2875abb87SDavid van Moolenbroek 3875abb87SDavid van MoolenbroekLABEL=e1000_0 4875abb87SDavid van MoolenbroekNAME=e1000 5875abb87SDavid van MoolenbroekEXEDIR=/service 6875abb87SDavid van MoolenbroekEXE=$EXEDIR/$NAME 7875abb87SDavid van Moolenbroek 8875abb87SDavid van Moolenbroek:>log 9875abb87SDavid van Moolenbroek 10875abb87SDavid van Moolenbroekstart_driver() 11875abb87SDavid van Moolenbroek{ 12*c58da9fbSDavid van Moolenbroek minix-service up $EXE -label $LABEL -script /etc/rs.single -period 3HZ 13875abb87SDavid van Moolenbroek} 14875abb87SDavid van Moolenbroek 15875abb87SDavid van Moolenbroekdo_one() 16875abb87SDavid van Moolenbroek{ 17875abb87SDavid van Moolenbroek # $1 = test-nr, $2 = count, $3 = seed 18875abb87SDavid van Moolenbroek pid='' 19875abb87SDavid van Moolenbroek while [ X"$pid" = X ] 20875abb87SDavid van Moolenbroek do 21875abb87SDavid van Moolenbroek pid=`ps ax | grep $NAME | grep -v grep | 22875abb87SDavid van Moolenbroek sed 's,^[ ]*,,;s,[ ].*,,'` 23875abb87SDavid van Moolenbroek if [ X"$pid" != X ] 24875abb87SDavid van Moolenbroek then 25875abb87SDavid van Moolenbroek break 26875abb87SDavid van Moolenbroek fi 27875abb87SDavid van Moolenbroek sleep 10 28875abb87SDavid van Moolenbroek done 29875abb87SDavid van Moolenbroek echo pid = $pid 30875abb87SDavid van Moolenbroek swifi -f $EXE $pid $1 $2 $3 >/tmp/out 31875abb87SDavid van Moolenbroek sleep 1 32875abb87SDavid van Moolenbroek kill -0 $pid && 33875abb87SDavid van Moolenbroek echo "driver survived, params: test $1, count $2, seed $3" || 34875abb87SDavid van Moolenbroek start_driver 35875abb87SDavid van Moolenbroek} 36875abb87SDavid van Moolenbroek 37875abb87SDavid van Moolenbroekone_round() 38875abb87SDavid van Moolenbroek{ 39875abb87SDavid van Moolenbroek # $1 = count, $2 = seed 40875abb87SDavid van Moolenbroek count=$1 41875abb87SDavid van Moolenbroek seed=$2 42875abb87SDavid van Moolenbroek echo "Seed: $seed" >> log 43875abb87SDavid van Moolenbroek sync 44875abb87SDavid van Moolenbroek do_one 6 $count $seed # Source fault 45875abb87SDavid van Moolenbroek do_one 5 $count $seed # Destination fault 46875abb87SDavid van Moolenbroek do_one 8 $count $seed # Pointer fault 47875abb87SDavid van Moolenbroek do_one 14 $count $seed # Interface fault 48875abb87SDavid van Moolenbroek do_one 12 $count $seed # Loop fault 49875abb87SDavid van Moolenbroek do_one 0 $count $seed # Text fault 50875abb87SDavid van Moolenbroek do_one 4 $count $seed # Nop fault 51875abb87SDavid van Moolenbroek} 52875abb87SDavid van Moolenbroek 53875abb87SDavid van Moolenbroek# Start our own driver. 54*c58da9fbSDavid van Moolenbroekminix-service down $LABEL 55875abb87SDavid van Moolenbroeksleep 10 # Allow driver to die 56875abb87SDavid van Moolenbroekstart_driver 57875abb87SDavid van Moolenbroek 58875abb87SDavid van Moolenbroeki=0 59875abb87SDavid van Moolenbroeki=4000 60875abb87SDavid van Moolenbroekwhile [ $i -lt 10000 ] 61875abb87SDavid van Moolenbroekdo 62875abb87SDavid van Moolenbroek echo "Seed: $i" 63875abb87SDavid van Moolenbroek one_round 100 $i 64875abb87SDavid van Moolenbroek i=`expr $i + 1` 65875abb87SDavid van Moolenbroekdone 66