xref: /minix3/minix/commands/swifi/tests/run_swifi (revision c58da9fbc35f86051ff0a75e6dd91e937d83cfff)
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