Home | History | Annotate | Line # | Download | only in sysmon
t_swsensor.sh revision 1.4.6.2
      1  1.4.6.2      yamt # $NetBSD: t_swsensor.sh,v 1.4.6.2 2014/05/22 11:42:18 yamt Exp $
      2      1.1  pgoyette 
      3      1.1  pgoyette get_sensor_info() {
      4      1.1  pgoyette 	rump.envstat -x | \
      5      1.1  pgoyette 	sed -e "\;swsensor;,\;/array;p" -e "d"
      6      1.1  pgoyette }
      7      1.1  pgoyette 
      8      1.1  pgoyette get_sensor_key() {
      9      1.1  pgoyette 	get_sensor_info | grep -A1 $1 | grep integer | sed -e 's;<[/a-z]*>;;g'
     10      1.1  pgoyette }
     11      1.1  pgoyette 
     12      1.1  pgoyette get_powerd_event_count() {
     13      1.1  pgoyette 	grep "not running" powerd.log | wc -l
     14      1.1  pgoyette }
     15      1.1  pgoyette 
     16  1.4.6.1      yamt get_rnd_bits_count() {
     17  1.4.6.1      yamt 	env RUMPHIJACK=blanket=/dev/random:/dev/urandom	\
     18  1.4.6.1      yamt 	    RUMP_SERVER=unix://t_swsensor_socket	\
     19  1.4.6.1      yamt 	    LD_PRELOAD=/usr/lib/librumphijack.so	  rndctl -l | \
     20  1.4.6.1      yamt 	grep "swsensor-sensor" | \
     21  1.4.6.1      yamt 	awk '{print $2}'
     22  1.4.6.1      yamt }
     23  1.4.6.1      yamt 
     24      1.1  pgoyette check_powerd_event() {
     25      1.1  pgoyette 	event=$(grep "not running" powerd.log | \
     26      1.1  pgoyette 		sed -e "$1p" -e "d" )
     27      1.1  pgoyette 	event=${event##*//}
     28      1.1  pgoyette 	script=${event%% *}
     29      1.1  pgoyette 	event=${event#* }
     30      1.1  pgoyette 	device=${event%% *}
     31      1.1  pgoyette 	event=${event#* }
     32      1.1  pgoyette 	state=${event%% *}
     33      1.1  pgoyette 	sensor=${event#* }
     34      1.1  pgoyette 	sensor=${sensor% *}
     35      1.1  pgoyette 
     36      1.1  pgoyette 	if [ "${script}" != "sensor_indicator" ] ; then
     37      1.1  pgoyette 		echo "Event uses wrong script: ${script}"
     38      1.1  pgoyette 	elif [ "${device}" != "swsensor" ] ; then
     39      1.1  pgoyette 		echo "Event uses wrong device: ${device}"
     40      1.1  pgoyette 	elif [ "${sensor}" != "sensor" ] ; then
     41      1.1  pgoyette 		echo "Event uses wrong sensor: ${sensor}"
     42      1.1  pgoyette 	elif [ "${state}" != "$2" ] ; then
     43      1.1  pgoyette 		echo "Event uses wrong state: ${state}"
     44      1.1  pgoyette 	fi
     45      1.1  pgoyette }
     46      1.1  pgoyette 
     47      1.1  pgoyette # Start the rump server, then load the swsensor module with the
     48      1.1  pgoyette # requested properties
     49      1.1  pgoyette 
     50      1.1  pgoyette start_rump() {
     51  1.4.6.1      yamt 	rump_allserver -l rumpvfs -l rumpdev -l rumpdev_sysmon ${RUMP_SERVER}
     52      1.1  pgoyette 	if [ $( get_sensor_info | wc -l ) -ne 0 ] ; then
     53      1.1  pgoyette 		rump.modunload swsensor
     54      1.1  pgoyette 		rump.modload -f $1 swsensor
     55      1.1  pgoyette 	else
     56      1.1  pgoyette 		rump.modload $1 swsensor
     57      1.1  pgoyette 	fi
     58      1.1  pgoyette 	return $?
     59      1.1  pgoyette }
     60      1.1  pgoyette 
     61      1.1  pgoyette common_head() {
     62      1.1  pgoyette 	atf_set	descr		"$1"
     63      1.1  pgoyette 	atf_set	timeout		60
     64      1.4  pgoyette 	atf_set	require.progs	rump.powerd rump.envstat rump.modload	\
     65      1.4  pgoyette 				rump.halt   rump.sysctl  rump_server	\
     66  1.4.6.1      yamt 				sed         grep         awk		\
     67  1.4.6.1      yamt 				rndctl      expr
     68      1.1  pgoyette }
     69      1.1  pgoyette 
     70      1.1  pgoyette common_cleanup() {
     71      1.1  pgoyette 	rump.modunload swsensor
     72      1.1  pgoyette 	rump.halt
     73      1.1  pgoyette }
     74      1.1  pgoyette 
     75      1.1  pgoyette create_envsys_conf_files() {
     76      1.1  pgoyette 	cat << ENV0 > env0.conf
     77      1.1  pgoyette 	swsensor {
     78      1.1  pgoyette 		refresh-timeout = 2s;
     79      1.1  pgoyette 	}
     80      1.1  pgoyette ENV0
     81      1.1  pgoyette 	cat << ENV1 > env1.conf
     82      1.1  pgoyette 	swsensor {
     83      1.1  pgoyette 		sensor0 { critical-min = $(( $1 - $2 )); }
     84      1.1  pgoyette 	}
     85      1.1  pgoyette ENV1
     86      1.1  pgoyette 	cat << ENV2 > env2.conf
     87      1.1  pgoyette 	swsensor {
     88      1.1  pgoyette 		sensor0 { critical-min = $1; }
     89      1.1  pgoyette 	}
     90      1.1  pgoyette ENV2
     91      1.1  pgoyette }
     92      1.1  pgoyette 
     93      1.1  pgoyette # Test body common to all sensors
     94      1.1  pgoyette #	$1	sensor mode
     95      1.1  pgoyette #	$2	initial sensor value
     96      1.1  pgoyette #	$3	initial limit
     97      1.1  pgoyette #	$4	amount to lower limit
     98      1.1  pgoyette #	$5	difference from limit to trigger event
     99  1.4.6.1      yamt #	$6	sensor flags, for FHAS_ENTROPY and FMONNOTSUPP
    100      1.1  pgoyette 
    101      1.1  pgoyette common_body() {
    102      1.1  pgoyette 	# Start the rump-server process and load the module
    103  1.4.6.1      yamt 	modload_args="-i mode=$1 -i value=$2 -i limit=$3 ${6:+-i flags=$6}"
    104  1.4.6.1      yamt 	start_rump "$modload_args"
    105      1.1  pgoyette 
    106      1.1  pgoyette 	# create configuration files for updates
    107      1.1  pgoyette 	create_envsys_conf_files $3 $4
    108      1.1  pgoyette 
    109      1.1  pgoyette 	if [ $? -ne 0 ] ; then
    110      1.1  pgoyette 		atf_skip "Cannot set-up rump environment"
    111      1.1  pgoyette 	fi
    112      1.1  pgoyette 
    113      1.1  pgoyette 	# start powerd so we can detect sensor events
    114      1.1  pgoyette 	rump.powerd -n -d > powerd.log 2>&1 &
    115      1.1  pgoyette 	if [ -z "$(jobs)" ] ; then
    116      1.1  pgoyette 		skip_events=1
    117      1.1  pgoyette 		echo "Skipping event sub-tests - powerd did not start"
    118      1.1  pgoyette 	else
    119      1.1  pgoyette 		skip_events=0
    120      1.1  pgoyette 		expected_event=1
    121      1.1  pgoyette 	fi
    122      1.1  pgoyette 
    123      1.1  pgoyette 	# Step 0 - verify that sensor is registered
    124      1.1  pgoyette 	get_sensor_info | grep -q swsensor ||
    125      1.1  pgoyette 		atf_fail "0: Device swsensor not registered"
    126      1.1  pgoyette 
    127      1.1  pgoyette 	# Step 1 - update the refresh-timeout and verify
    128      1.1  pgoyette 	# (use $(( ... )) since the timeout is displayed in hex!)
    129      1.1  pgoyette 	rump.envstat -c env0.conf
    130      1.1  pgoyette 	if [ $(( $( get_sensor_key refresh-timeout ) )) -ne 2 ] ; then
    131      1.1  pgoyette 		atf_fail "1: Could not set refresh-timout to 2s"
    132      1.1  pgoyette 	fi
    133      1.1  pgoyette 
    134      1.1  pgoyette 	# Step 2 - verify that we can read sensor's value
    135      1.1  pgoyette 	if [ $1 -ne 0 -a $( get_sensor_key cur-value ) -ne $2 ] ; then
    136      1.1  pgoyette 		atf_fail "2: Value not available"
    137      1.1  pgoyette 	fi
    138      1.1  pgoyette 
    139      1.1  pgoyette 	# Step 3 - verify that changes in sensor value are seen
    140      1.1  pgoyette 	rump.sysctl -w hw.swsensor.cur_value=$(( $2 + 1 ))
    141      1.1  pgoyette 	if [ $( get_sensor_key cur-value ) -ne $(( $2 + 1 )) ] ; then
    142      1.1  pgoyette 		atf_fail "3: Value not updated"
    143      1.1  pgoyette 	fi
    144      1.1  pgoyette 
    145      1.1  pgoyette 	# Step 4 - if sensor provides hw limit, make sure we can read it
    146      1.1  pgoyette 	if [ $1 -ne 0 ] ; then
    147      1.1  pgoyette 		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
    148      1.1  pgoyette 			atf_fail "4: Limit not set by device"
    149      1.1  pgoyette 		fi
    150      1.1  pgoyette 	fi
    151      1.1  pgoyette 
    152      1.1  pgoyette 	# Step 5 - if sensor provides hw limit, make sure it works
    153      1.1  pgoyette 	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
    154      1.1  pgoyette 		rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $5 ))
    155      1.3  pgoyette 		sleep 5
    156      1.1  pgoyette 		cnt=$(get_powerd_event_count)
    157      1.1  pgoyette 		if [ ${cnt} -lt ${expected_event} ] ; then
    158      1.1  pgoyette 			atf_fail "5: No event triggered"
    159      1.1  pgoyette 		elif [ ${cnt} -gt ${expected_event} ] ; then
    160      1.1  pgoyette 			atf_fail "5: Multiple events triggered"
    161      1.1  pgoyette 		fi
    162      1.1  pgoyette 		evt=$( check_powerd_event ${cnt} "critical-under")
    163      1.1  pgoyette 		if [ -n "${evt}" ] ; then
    164      1.1  pgoyette 			atf_fail "5: ${evt}"
    165      1.1  pgoyette 		fi
    166      1.1  pgoyette 		expected_event=$(( 1 + ${expected_event} ))
    167      1.1  pgoyette 	fi
    168      1.1  pgoyette 
    169      1.1  pgoyette 	# Step 6 - verify that we return to normal state
    170      1.1  pgoyette 	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
    171      1.1  pgoyette 		rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $5 ))
    172      1.1  pgoyette 		sleep 5
    173      1.1  pgoyette 		cnt=$(get_powerd_event_count)
    174      1.1  pgoyette 		if [ ${cnt} -lt ${expected_event} ] ; then
    175      1.1  pgoyette 			atf_fail "6: No event triggered"
    176      1.1  pgoyette 		elif [ ${cnt} -gt ${expected_event} ] ; then
    177      1.1  pgoyette 			atf_fail "6: Multiple events triggered"
    178      1.1  pgoyette 		fi
    179      1.1  pgoyette 		evt=$( check_powerd_event ${cnt} "normal")
    180      1.1  pgoyette 		if [ -n "${evt}" ] ; then
    181      1.1  pgoyette 			atf_fail "6: ${evt}"
    182      1.1  pgoyette 		fi
    183      1.1  pgoyette 		expected_event=$(( 1 + ${expected_event} ))
    184      1.1  pgoyette 	fi
    185      1.1  pgoyette 
    186      1.1  pgoyette 	# Step 7 - verify that we can set our own limit
    187      1.1  pgoyette 
    188  1.4.6.1      yamt 	# Steps 7 thru 12 are skipped if the sensor cannot be monitored
    189  1.4.6.1      yamt 	if [ $( expr \( 0$6 / 2048 \) % 2 ) -ne 1 ] ; then
    190  1.4.6.1      yamt 		rump.envstat -c env1.conf
    191  1.4.6.1      yamt 		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
    192  1.4.6.1      yamt 			atf_fail "7: Limit not set by envstat -c"
    193      1.1  pgoyette 		fi
    194  1.4.6.1      yamt 
    195  1.4.6.1      yamt 	# Step 8 - make sure user-set limit works
    196  1.4.6.1      yamt 		if [ ${skip_events} -eq 0 ] ; then
    197  1.4.6.1      yamt 			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
    198  1.4.6.1      yamt 			sleep 5
    199  1.4.6.1      yamt 			cnt=$(get_powerd_event_count)
    200  1.4.6.1      yamt 			if [ ${cnt} -lt ${expected_event} ] ; then
    201  1.4.6.1      yamt 				atf_fail "8: No event triggered"
    202  1.4.6.1      yamt 			elif [ ${cnt} -gt ${expected_event} ] ; then
    203  1.4.6.1      yamt 				atf_fail "8: Multiple events triggered"
    204  1.4.6.1      yamt 			fi
    205  1.4.6.1      yamt 			evt=$( check_powerd_event ${cnt} "critical-under")
    206  1.4.6.1      yamt 			if [ -n "${evt}" ] ; then
    207  1.4.6.1      yamt 				atf_fail "8: ${evt}"
    208  1.4.6.1      yamt 			fi
    209  1.4.6.1      yamt 			expected_event=$(( 1 + ${expected_event} ))
    210      1.1  pgoyette 		fi
    211      1.1  pgoyette 
    212      1.1  pgoyette 	# Step 9 - verify that we return to normal state
    213  1.4.6.1      yamt 		if [ ${skip_events} -eq 0 ] ; then
    214  1.4.6.1      yamt 			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 + $5 ))
    215  1.4.6.1      yamt 			sleep 5
    216  1.4.6.1      yamt 			cnt=$(get_powerd_event_count)
    217  1.4.6.1      yamt 			if [ ${cnt} -lt ${expected_event} ] ; then
    218  1.4.6.1      yamt 				atf_fail "9: No event triggered"
    219  1.4.6.1      yamt 			elif [ ${cnt} -gt ${expected_event} ] ; then
    220  1.4.6.1      yamt 				atf_fail "9: Multiple events triggered"
    221  1.4.6.1      yamt 			fi
    222  1.4.6.1      yamt 			evt=$( check_powerd_event ${cnt} "normal")
    223  1.4.6.1      yamt 			if [ -n "${evt}" ] ; then
    224  1.4.6.1      yamt 				atf_fail "9: ${evt}"
    225  1.4.6.1      yamt 			fi
    226  1.4.6.1      yamt 			expected_event=$(( 1 + ${expected_event} ))
    227      1.1  pgoyette 		fi
    228      1.1  pgoyette 
    229      1.1  pgoyette 	# Step 10 - reset to defaults
    230  1.4.6.1      yamt 		rump.envstat -S
    231  1.4.6.1      yamt 		if [ $1 -eq 0 ] ; then
    232  1.4.6.1      yamt 			get_sensor_info | grep -q critical-min &&
    233  1.4.6.1      yamt 				atf_fail "10: Failed to clear a limit with envstat -S"
    234  1.4.6.1      yamt 		else
    235  1.4.6.1      yamt 			if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
    236  1.4.6.1      yamt 				atf_fail "10: Limit not reset to initial value"
    237  1.4.6.1      yamt 			fi
    238      1.1  pgoyette 		fi
    239      1.1  pgoyette 
    240      1.1  pgoyette 	# Step 11 - see if more events occur
    241  1.4.6.1      yamt 		if [ ${skip_events} -eq 0 ] ; then
    242  1.4.6.1      yamt 			rump.envstat -c env0.conf
    243  1.4.6.1      yamt 			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
    244  1.4.6.1      yamt 			sleep 5
    245  1.4.6.1      yamt 			cnt=$(get_powerd_event_count)
    246  1.4.6.1      yamt 			if [ ${cnt} -ge ${expected_event} ] ; then
    247  1.4.6.1      yamt 				if [ $1 -ne 2 ] ; then
    248  1.4.6.1      yamt 					atf_fail "11b Event triggered after reset"
    249  1.4.6.1      yamt 				fi
    250  1.4.6.1      yamt 				evt=$( check_powerd_event ${cnt} "critical-under")
    251  1.4.6.1      yamt 				if [ -n "${evt}" ] ; then
    252  1.4.6.1      yamt 					atf_fail "11a: ${evt}"
    253  1.4.6.1      yamt 				fi
    254      1.2  pgoyette 			fi
    255      1.1  pgoyette 		fi
    256      1.1  pgoyette 
    257      1.1  pgoyette 	# Step 12 - make sure we can set new limits once more
    258  1.4.6.1      yamt 		rump.envstat -c env2.conf
    259  1.4.6.1      yamt 		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
    260  1.4.6.1      yamt 			atf_fail "12a: Limit not reset to same value"
    261  1.4.6.1      yamt 		fi
    262  1.4.6.1      yamt 		rump.envstat -c env1.conf
    263  1.4.6.1      yamt 		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
    264  1.4.6.1      yamt 			atf_fail "12b: Limit not reset to new value"
    265  1.4.6.1      yamt 		fi
    266  1.4.6.1      yamt 	fi
    267  1.4.6.1      yamt 
    268  1.4.6.1      yamt 	# Step 13 - confirm registration (or lack thereof) with rndctl
    269  1.4.6.1      yamt 	rnd_bits=$( get_rnd_bits_count )
    270  1.4.6.1      yamt 	if [ $( expr \( 0$6 / 8192 \) % 2 ) -eq 1 ] ; then
    271  1.4.6.1      yamt 		if [ -z "$rnd_bits" ] ; then
    272  1.4.6.1      yamt 			atf_fail "13a: Not registered with rndctl"
    273  1.4.6.1      yamt 		fi
    274  1.4.6.1      yamt 	else
    275  1.4.6.1      yamt 		if [ -n "$rnd_bits" ] ; then
    276  1.4.6.1      yamt 			atf_fail "13b: Wrongly registered with rndctl"
    277  1.4.6.1      yamt 		fi
    278  1.4.6.1      yamt 	fi
    279  1.4.6.1      yamt 
    280  1.4.6.1      yamt 	# Steps 14 and 15 are only if sensor is providing entropy
    281  1.4.6.1      yamt 	if [ $( expr \( 0$6 / 8192 \) % 2 ) -ne 1 ] ; then
    282  1.4.6.1      yamt 		return
    283  1.4.6.1      yamt 	fi
    284  1.4.6.1      yamt 
    285  1.4.6.1      yamt 	# Step 14 - make sure entropy collected when device is being polled
    286  1.4.6.1      yamt 	rump.envstat -c env0.conf
    287  1.4.6.1      yamt 	rump.sysctl -w hw.swsensor.cur_value=$3
    288  1.4.6.1      yamt 	sleep 5
    289  1.4.6.1      yamt 	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
    290  1.4.6.1      yamt 	sleep 5
    291  1.4.6.1      yamt 	new_rnd_bits=$( get_rnd_bits_count )
    292  1.4.6.1      yamt 	if [ $new_rnd_bits -le $rnd_bits ] ; then
    293  1.4.6.2      yamt 		atf_expect_fail "PR kern/47661"
    294  1.4.6.1      yamt 		atf_fail "14a: entropy bits did not increase after polling"
    295  1.4.6.1      yamt 	fi
    296  1.4.6.1      yamt 	rnd_bits=$new_rnd_bits
    297  1.4.6.1      yamt 	sleep 5
    298  1.4.6.1      yamt 	new_rnd_bits=$( get_rnd_bits_count )
    299  1.4.6.1      yamt 	if [ $new_rnd_bits -gt $rnd_bits ] ; then
    300  1.4.6.2      yamt 		atf_expect_fail "PR kern/47661"
    301  1.4.6.1      yamt 		atf_fail "14b: entropy bits increased after poll with no value change"
    302  1.4.6.1      yamt 	fi
    303  1.4.6.1      yamt 
    304  1.4.6.1      yamt 	# Step 15 - make sure entropy collected when device is interrogated
    305  1.4.6.1      yamt 	# 
    306  1.4.6.1      yamt 	rump.envstat -c env0.conf
    307  1.4.6.1      yamt 	rump.sysctl -w hw.swsensor.cur_value=$3
    308  1.4.6.1      yamt 	get_sensor_key cur-value
    309  1.4.6.1      yamt 	rnd_bits=$( get_rnd_bits_count )
    310  1.4.6.1      yamt 	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
    311  1.4.6.1      yamt 	get_sensor_key cur-value
    312  1.4.6.1      yamt 	new_rnd_bits=$( get_rnd_bits_count )
    313  1.4.6.1      yamt 	if [ $new_rnd_bits -le $rnd_bits ] ; then
    314  1.4.6.2      yamt 		atf_expect_fail "PR kern/47661"
    315  1.4.6.1      yamt 		atf_fail "15a: entropy bits did not increase after interrogation"
    316  1.4.6.1      yamt 	fi
    317  1.4.6.1      yamt 	rnd_bits=$new_rnd_bits
    318  1.4.6.1      yamt 	get_sensor_key cur-value
    319  1.4.6.1      yamt 	new_rnd_bits=$( get_rnd_bits_count )
    320  1.4.6.1      yamt 	if [ $new_rnd_bits -gt $rnd_bits ] ; then
    321  1.4.6.2      yamt 		atf_expect_fail "PR kern/47661"
    322  1.4.6.1      yamt 		atf_fail "15b: entropy bits increased after interrogation with no value change"
    323      1.1  pgoyette 	fi
    324      1.1  pgoyette }
    325      1.1  pgoyette 
    326      1.1  pgoyette atf_test_case simple_sensor cleanup
    327      1.1  pgoyette simple_sensor_head() {
    328      1.1  pgoyette 	common_head "Test a simple sensor"
    329      1.1  pgoyette }
    330      1.1  pgoyette 
    331      1.1  pgoyette simple_sensor_body() {
    332      1.1  pgoyette 	common_body 0 50 30 10 1
    333      1.1  pgoyette }
    334      1.1  pgoyette 
    335      1.1  pgoyette simple_sensor_cleanup() {
    336      1.1  pgoyette 	common_cleanup
    337      1.1  pgoyette }
    338      1.1  pgoyette 
    339      1.1  pgoyette atf_test_case limit_sensor cleanup
    340      1.1  pgoyette limit_sensor_head() {
    341      1.1  pgoyette 	common_head "Test a sensor with internal limit"
    342      1.1  pgoyette }
    343      1.1  pgoyette 
    344      1.1  pgoyette limit_sensor_body() {
    345      1.1  pgoyette 	common_body 1 45 25 8 2
    346      1.1  pgoyette }
    347      1.1  pgoyette 
    348      1.1  pgoyette limit_sensor_cleanup() {
    349      1.1  pgoyette 	common_cleanup
    350      1.1  pgoyette }
    351      1.1  pgoyette 
    352      1.1  pgoyette atf_test_case alarm_sensor cleanup
    353      1.1  pgoyette alarm_sensor_head() {
    354      1.1  pgoyette 	common_head "Test a sensor with internal checking"
    355      1.1  pgoyette }
    356      1.1  pgoyette 
    357      1.1  pgoyette alarm_sensor_body() {
    358      1.1  pgoyette 	common_body 2 40 20 6 3
    359      1.1  pgoyette }
    360      1.1  pgoyette 
    361      1.1  pgoyette alarm_sensor_cleanup() {
    362      1.1  pgoyette 	common_cleanup
    363      1.1  pgoyette }
    364      1.1  pgoyette 
    365  1.4.6.1      yamt atf_test_case entropy_polled_sensor cleanup
    366  1.4.6.1      yamt entropy_polled_sensor_head() {
    367  1.4.6.1      yamt 	common_head "Test a simple sensor that provides entropy"
    368  1.4.6.1      yamt }
    369  1.4.6.1      yamt 
    370  1.4.6.1      yamt entropy_polled_sensor_body() {
    371  1.4.6.1      yamt 	common_body 0 50 30 10 1 8192
    372  1.4.6.1      yamt }
    373  1.4.6.1      yamt 
    374  1.4.6.1      yamt entropy_polled_sensor_cleanup() {
    375  1.4.6.1      yamt 	common_cleanup
    376  1.4.6.1      yamt }
    377  1.4.6.1      yamt 
    378  1.4.6.1      yamt atf_test_case entropy_interrupt_sensor cleanup
    379  1.4.6.1      yamt entropy_interrupt_sensor_head() {
    380  1.4.6.1      yamt 	common_head "Test a sensor that provides entropy without polling"
    381  1.4.6.1      yamt }
    382  1.4.6.1      yamt 
    383  1.4.6.1      yamt entropy_interrupt_sensor_body() {
    384  1.4.6.1      yamt 	common_body 0 50 30 10 1 10240
    385  1.4.6.1      yamt }
    386  1.4.6.1      yamt 
    387  1.4.6.1      yamt entropy_interrupt_sensor_cleanup() {
    388  1.4.6.1      yamt 	common_cleanup
    389  1.4.6.1      yamt }
    390  1.4.6.1      yamt 
    391      1.1  pgoyette atf_init_test_cases() {
    392      1.2  pgoyette 	RUMP_SERVER="unix://t_swsensor_socket" ; export RUMP_SERVER
    393      1.1  pgoyette 	atf_add_test_case simple_sensor
    394      1.1  pgoyette 	atf_add_test_case limit_sensor
    395      1.1  pgoyette 	atf_add_test_case alarm_sensor
    396  1.4.6.1      yamt 	atf_add_test_case entropy_polled_sensor
    397  1.4.6.1      yamt 	atf_add_test_case entropy_interrupt_sensor
    398      1.1  pgoyette }
    399