xref: /freebsd-src/contrib/netbsd-tests/dev/sysmon/t_swsensor.sh (revision c22165b4f1f5d38b681921797a44b3ba8c13b7e0)
1*640235e2SEnji Cooper# $NetBSD: t_swsensor.sh,v 1.9 2015/04/23 23:23:28 pgoyette Exp $
257718be8SEnji Cooper
357718be8SEnji Cooperget_sensor_info() {
457718be8SEnji Cooper	rump.envstat -x | \
557718be8SEnji Cooper	sed -e "\;swsensor;,\;/array;p" -e "d"
657718be8SEnji Cooper}
757718be8SEnji Cooper
857718be8SEnji Cooperget_sensor_key() {
9*640235e2SEnji Cooper	local v
10*640235e2SEnji Cooper	v=$(get_sensor_info | grep -A1 $1 | grep integer | \
11*640235e2SEnji Cooper	    sed -e 's;<[/a-z]*>;;g')
12*640235e2SEnji Cooper	if [ -z "$v" ] ; then
13*640235e2SEnji Cooper		v="key_$1_not_found"
14*640235e2SEnji Cooper	fi
15*640235e2SEnji Cooper	echo $v
1657718be8SEnji Cooper}
1757718be8SEnji Cooper
1857718be8SEnji Cooperget_powerd_event_count() {
1957718be8SEnji Cooper	grep "not running" powerd.log | wc -l
2057718be8SEnji Cooper}
2157718be8SEnji Cooper
2257718be8SEnji Cooperget_rnd_bits_count() {
2357718be8SEnji Cooper	env RUMPHIJACK=blanket=/dev/random:/dev/urandom	\
2457718be8SEnji Cooper	    RUMP_SERVER=unix://t_swsensor_socket	\
2557718be8SEnji Cooper	    LD_PRELOAD=/usr/lib/librumphijack.so	  rndctl -l | \
2657718be8SEnji Cooper	grep "swsensor-sensor" | \
2757718be8SEnji Cooper	awk '{print $2}'
2857718be8SEnji Cooper}
2957718be8SEnji Cooper
3057718be8SEnji Coopercheck_powerd_event() {
3157718be8SEnji Cooper	event=$(grep "not running" powerd.log | \
3257718be8SEnji Cooper		sed -e "$1p" -e "d" )
3357718be8SEnji Cooper	event=${event##*//}
3457718be8SEnji Cooper	script=${event%% *}
3557718be8SEnji Cooper	event=${event#* }
3657718be8SEnji Cooper	device=${event%% *}
3757718be8SEnji Cooper	event=${event#* }
3857718be8SEnji Cooper	state=${event%% *}
3957718be8SEnji Cooper	sensor=${event#* }
4057718be8SEnji Cooper	sensor=${sensor% *}
4157718be8SEnji Cooper
4257718be8SEnji Cooper	if [ "${script}" != "sensor_indicator" ] ; then
4357718be8SEnji Cooper		echo "Event uses wrong script: ${script}"
4457718be8SEnji Cooper	elif [ "${device}" != "swsensor" ] ; then
4557718be8SEnji Cooper		echo "Event uses wrong device: ${device}"
4657718be8SEnji Cooper	elif [ "${sensor}" != "sensor" ] ; then
4757718be8SEnji Cooper		echo "Event uses wrong sensor: ${sensor}"
4857718be8SEnji Cooper	elif [ "${state}" != "$2" ] ; then
4957718be8SEnji Cooper		echo "Event uses wrong state: ${state}"
5057718be8SEnji Cooper	fi
5157718be8SEnji Cooper}
5257718be8SEnji Cooper
5357718be8SEnji Cooper# Start the rump server, then load the swsensor module with the
5457718be8SEnji Cooper# requested properties
5557718be8SEnji Cooper
5657718be8SEnji Cooperstart_rump() {
5757718be8SEnji Cooper	rump_allserver -l rumpvfs -l rumpdev -l rumpdev_sysmon ${RUMP_SERVER}
5857718be8SEnji Cooper	if [ $( get_sensor_info | wc -l ) -ne 0 ] ; then
5957718be8SEnji Cooper		rump.modunload swsensor
6057718be8SEnji Cooper		rump.modload -f $1 swsensor
6157718be8SEnji Cooper	else
6257718be8SEnji Cooper		rump.modload $1 swsensor
6357718be8SEnji Cooper	fi
6457718be8SEnji Cooper	return $?
6557718be8SEnji Cooper}
6657718be8SEnji Cooper
6757718be8SEnji Coopercommon_head() {
6857718be8SEnji Cooper	atf_set	descr		"$1"
69*640235e2SEnji Cooper	atf_set	timeout		120
7057718be8SEnji Cooper	atf_set	require.progs	rump.powerd rump.envstat rump.modload	\
7157718be8SEnji Cooper				rump.halt   rump.sysctl  rump_server	\
7257718be8SEnji Cooper				sed         grep         awk		\
7357718be8SEnji Cooper				rndctl      expr
7457718be8SEnji Cooper}
7557718be8SEnji Cooper
7657718be8SEnji Coopercommon_cleanup() {
7757718be8SEnji Cooper	rump.modunload swsensor
7857718be8SEnji Cooper	rump.halt
7957718be8SEnji Cooper}
8057718be8SEnji Cooper
8157718be8SEnji Coopercreate_envsys_conf_files() {
8257718be8SEnji Cooper	cat << ENV0 > env0.conf
8357718be8SEnji Cooper	swsensor {
8457718be8SEnji Cooper		refresh-timeout = 2s;
8557718be8SEnji Cooper	}
8657718be8SEnji CooperENV0
8757718be8SEnji Cooper	cat << ENV1 > env1.conf
8857718be8SEnji Cooper	swsensor {
8957718be8SEnji Cooper		sensor0 { critical-min = $(( $1 - $2 )); }
9057718be8SEnji Cooper	}
9157718be8SEnji CooperENV1
9257718be8SEnji Cooper	cat << ENV2 > env2.conf
9357718be8SEnji Cooper	swsensor {
9457718be8SEnji Cooper		sensor0 { critical-min = $1; }
9557718be8SEnji Cooper	}
9657718be8SEnji CooperENV2
9757718be8SEnji Cooper}
9857718be8SEnji Cooper
9957718be8SEnji Cooper# Test body common to all sensors
10057718be8SEnji Cooper#	$1	sensor mode
10157718be8SEnji Cooper#	$2	initial sensor value
10257718be8SEnji Cooper#	$3	initial limit
10357718be8SEnji Cooper#	$4	amount to lower limit
10457718be8SEnji Cooper#	$5	difference from limit to trigger event
10557718be8SEnji Cooper#	$6	sensor flags, for FHAS_ENTROPY and FMONNOTSUPP
10657718be8SEnji Cooper
10757718be8SEnji Coopercommon_body() {
10857718be8SEnji Cooper	# Start the rump-server process and load the module
10957718be8SEnji Cooper	modload_args="-i mode=$1 -i value=$2 -i limit=$3 ${6:+-i flags=$6}"
11057718be8SEnji Cooper	start_rump "$modload_args"
11157718be8SEnji Cooper
11257718be8SEnji Cooper	# create configuration files for updates
11357718be8SEnji Cooper	create_envsys_conf_files $3 $4
11457718be8SEnji Cooper
11557718be8SEnji Cooper	if [ $? -ne 0 ] ; then
11657718be8SEnji Cooper		atf_skip "Cannot set-up rump environment"
11757718be8SEnji Cooper	fi
11857718be8SEnji Cooper
11957718be8SEnji Cooper	# start powerd so we can detect sensor events
12057718be8SEnji Cooper	rump.powerd -n -d > powerd.log 2>&1 &
12157718be8SEnji Cooper	if [ -z "$(jobs)" ] ; then
12257718be8SEnji Cooper		skip_events=1
12357718be8SEnji Cooper		echo "Skipping event sub-tests - powerd did not start"
12457718be8SEnji Cooper	else
12557718be8SEnji Cooper		skip_events=0
12657718be8SEnji Cooper		expected_event=1
12757718be8SEnji Cooper	fi
12857718be8SEnji Cooper
12957718be8SEnji Cooper	# Step 0 - verify that sensor is registered
13057718be8SEnji Cooper	get_sensor_info | grep -q swsensor ||
13157718be8SEnji Cooper		atf_fail "0: Device swsensor not registered"
13257718be8SEnji Cooper
13357718be8SEnji Cooper	# Step 1 - update the refresh-timeout and verify
13457718be8SEnji Cooper	# (use $(( ... )) since the timeout is displayed in hex!)
13557718be8SEnji Cooper	rump.envstat -c env0.conf
13657718be8SEnji Cooper	if [ $(( $( get_sensor_key refresh-timeout ) )) -ne 2 ] ; then
13757718be8SEnji Cooper		atf_fail "1: Could not set refresh-timout to 2s"
13857718be8SEnji Cooper	fi
13957718be8SEnji Cooper
14057718be8SEnji Cooper	# Step 2 - verify that we can read sensor's value
14157718be8SEnji Cooper	if [ $1 -ne 0 -a $( get_sensor_key cur-value ) -ne $2 ] ; then
14257718be8SEnji Cooper		atf_fail "2: Value not available"
14357718be8SEnji Cooper	fi
14457718be8SEnji Cooper
14557718be8SEnji Cooper	# Step 3 - verify that changes in sensor value are seen
14657718be8SEnji Cooper	rump.sysctl -w hw.swsensor.cur_value=$(( $2 + 1 ))
14757718be8SEnji Cooper	if [ $( get_sensor_key cur-value ) -ne $(( $2 + 1 )) ] ; then
14857718be8SEnji Cooper		atf_fail "3: Value not updated"
14957718be8SEnji Cooper	fi
15057718be8SEnji Cooper
15157718be8SEnji Cooper	# Step 4 - if sensor provides hw limit, make sure we can read it
15257718be8SEnji Cooper	if [ $1 -ne 0 ] ; then
15357718be8SEnji Cooper		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
15457718be8SEnji Cooper			atf_fail "4: Limit not set by device"
15557718be8SEnji Cooper		fi
15657718be8SEnji Cooper	fi
15757718be8SEnji Cooper
15857718be8SEnji Cooper	# Step 5 - if sensor provides hw limit, make sure it works
15957718be8SEnji Cooper	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
16057718be8SEnji Cooper		rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $5 ))
16157718be8SEnji Cooper		sleep 5
16257718be8SEnji Cooper		cnt=$(get_powerd_event_count)
16357718be8SEnji Cooper		if [ ${cnt} -lt ${expected_event} ] ; then
16457718be8SEnji Cooper			atf_fail "5: No event triggered"
16557718be8SEnji Cooper		elif [ ${cnt} -gt ${expected_event} ] ; then
16657718be8SEnji Cooper			atf_fail "5: Multiple events triggered"
16757718be8SEnji Cooper		fi
16857718be8SEnji Cooper		evt=$( check_powerd_event ${cnt} "critical-under")
16957718be8SEnji Cooper		if [ -n "${evt}" ] ; then
17057718be8SEnji Cooper			atf_fail "5: ${evt}"
17157718be8SEnji Cooper		fi
17257718be8SEnji Cooper		expected_event=$(( 1 + ${expected_event} ))
17357718be8SEnji Cooper	fi
17457718be8SEnji Cooper
17557718be8SEnji Cooper	# Step 6 - verify that we return to normal state
17657718be8SEnji Cooper	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
17757718be8SEnji Cooper		rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $5 ))
17857718be8SEnji Cooper		sleep 5
17957718be8SEnji Cooper		cnt=$(get_powerd_event_count)
18057718be8SEnji Cooper		if [ ${cnt} -lt ${expected_event} ] ; then
18157718be8SEnji Cooper			atf_fail "6: No event triggered"
18257718be8SEnji Cooper		elif [ ${cnt} -gt ${expected_event} ] ; then
18357718be8SEnji Cooper			atf_fail "6: Multiple events triggered"
18457718be8SEnji Cooper		fi
18557718be8SEnji Cooper		evt=$( check_powerd_event ${cnt} "normal")
18657718be8SEnji Cooper		if [ -n "${evt}" ] ; then
18757718be8SEnji Cooper			atf_fail "6: ${evt}"
18857718be8SEnji Cooper		fi
18957718be8SEnji Cooper		expected_event=$(( 1 + ${expected_event} ))
19057718be8SEnji Cooper	fi
19157718be8SEnji Cooper
19257718be8SEnji Cooper	# Step 7 - verify that we can set our own limit
19357718be8SEnji Cooper
19457718be8SEnji Cooper	# Steps 7 thru 12 are skipped if the sensor cannot be monitored
19557718be8SEnji Cooper	if [ $( expr \( 0$6 / 2048 \) % 2 ) -ne 1 ] ; then
19657718be8SEnji Cooper		rump.envstat -c env1.conf
19757718be8SEnji Cooper		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
19857718be8SEnji Cooper			atf_fail "7: Limit not set by envstat -c"
19957718be8SEnji Cooper		fi
20057718be8SEnji Cooper
20157718be8SEnji Cooper	# Step 8 - make sure user-set limit works
20257718be8SEnji Cooper		if [ ${skip_events} -eq 0 ] ; then
20357718be8SEnji Cooper			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
20457718be8SEnji Cooper			sleep 5
20557718be8SEnji Cooper			cnt=$(get_powerd_event_count)
20657718be8SEnji Cooper			if [ ${cnt} -lt ${expected_event} ] ; then
20757718be8SEnji Cooper				atf_fail "8: No event triggered"
20857718be8SEnji Cooper			elif [ ${cnt} -gt ${expected_event} ] ; then
20957718be8SEnji Cooper				atf_fail "8: Multiple events triggered"
21057718be8SEnji Cooper			fi
21157718be8SEnji Cooper			evt=$( check_powerd_event ${cnt} "critical-under")
21257718be8SEnji Cooper			if [ -n "${evt}" ] ; then
21357718be8SEnji Cooper				atf_fail "8: ${evt}"
21457718be8SEnji Cooper			fi
21557718be8SEnji Cooper			expected_event=$(( 1 + ${expected_event} ))
21657718be8SEnji Cooper		fi
21757718be8SEnji Cooper
21857718be8SEnji Cooper	# Step 9 - verify that we return to normal state
21957718be8SEnji Cooper		if [ ${skip_events} -eq 0 ] ; then
22057718be8SEnji Cooper			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 + $5 ))
22157718be8SEnji Cooper			sleep 5
22257718be8SEnji Cooper			cnt=$(get_powerd_event_count)
22357718be8SEnji Cooper			if [ ${cnt} -lt ${expected_event} ] ; then
22457718be8SEnji Cooper				atf_fail "9: No event triggered"
22557718be8SEnji Cooper			elif [ ${cnt} -gt ${expected_event} ] ; then
22657718be8SEnji Cooper				atf_fail "9: Multiple events triggered"
22757718be8SEnji Cooper			fi
22857718be8SEnji Cooper			evt=$( check_powerd_event ${cnt} "normal")
22957718be8SEnji Cooper			if [ -n "${evt}" ] ; then
23057718be8SEnji Cooper				atf_fail "9: ${evt}"
23157718be8SEnji Cooper			fi
23257718be8SEnji Cooper			expected_event=$(( 1 + ${expected_event} ))
23357718be8SEnji Cooper		fi
23457718be8SEnji Cooper
23557718be8SEnji Cooper	# Step 10 - reset to defaults
23657718be8SEnji Cooper		rump.envstat -S
23757718be8SEnji Cooper		if [ $1 -eq 0 ] ; then
23857718be8SEnji Cooper			get_sensor_info | grep -q critical-min &&
23957718be8SEnji Cooper				atf_fail "10: Failed to clear a limit with envstat -S"
24057718be8SEnji Cooper		else
24157718be8SEnji Cooper			if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
24257718be8SEnji Cooper				atf_fail "10: Limit not reset to initial value"
24357718be8SEnji Cooper			fi
24457718be8SEnji Cooper		fi
24557718be8SEnji Cooper
24657718be8SEnji Cooper	# Step 11 - see if more events occur
24757718be8SEnji Cooper		if [ ${skip_events} -eq 0 ] ; then
24857718be8SEnji Cooper			rump.envstat -c env0.conf
24957718be8SEnji Cooper			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
25057718be8SEnji Cooper			sleep 5
25157718be8SEnji Cooper			cnt=$(get_powerd_event_count)
25257718be8SEnji Cooper			if [ ${cnt} -ge ${expected_event} ] ; then
25357718be8SEnji Cooper				if [ $1 -ne 2 ] ; then
25457718be8SEnji Cooper					atf_fail "11b Event triggered after reset"
25557718be8SEnji Cooper				fi
25657718be8SEnji Cooper				evt=$( check_powerd_event ${cnt} "critical-under")
25757718be8SEnji Cooper				if [ -n "${evt}" ] ; then
25857718be8SEnji Cooper					atf_fail "11a: ${evt}"
25957718be8SEnji Cooper				fi
26057718be8SEnji Cooper			fi
26157718be8SEnji Cooper		fi
26257718be8SEnji Cooper
26357718be8SEnji Cooper	# Step 12 - make sure we can set new limits once more
26457718be8SEnji Cooper		rump.envstat -c env2.conf
26557718be8SEnji Cooper		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
26657718be8SEnji Cooper			atf_fail "12a: Limit not reset to same value"
26757718be8SEnji Cooper		fi
26857718be8SEnji Cooper		rump.envstat -c env1.conf
26957718be8SEnji Cooper		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
27057718be8SEnji Cooper			atf_fail "12b: Limit not reset to new value"
27157718be8SEnji Cooper		fi
27257718be8SEnji Cooper	fi
27357718be8SEnji Cooper
27457718be8SEnji Cooper	# Step 13 - confirm registration (or lack thereof) with rndctl
27557718be8SEnji Cooper	rnd_bits=$( get_rnd_bits_count )
27657718be8SEnji Cooper	if [ $( expr \( 0$6 / 8192 \) % 2 ) -eq 1 ] ; then
27757718be8SEnji Cooper		if [ -z "$rnd_bits" ] ; then
27857718be8SEnji Cooper			atf_fail "13a: Not registered with rndctl"
27957718be8SEnji Cooper		fi
28057718be8SEnji Cooper	else
28157718be8SEnji Cooper		if [ -n "$rnd_bits" ] ; then
28257718be8SEnji Cooper			atf_fail "13b: Wrongly registered with rndctl"
28357718be8SEnji Cooper		fi
28457718be8SEnji Cooper	fi
28557718be8SEnji Cooper
28657718be8SEnji Cooper	# Steps 14 and 15 are only if sensor is providing entropy
28757718be8SEnji Cooper	if [ $( expr \( 0$6 / 8192 \) % 2 ) -ne 1 ] ; then
28857718be8SEnji Cooper		return
28957718be8SEnji Cooper	fi
29057718be8SEnji Cooper
29157718be8SEnji Cooper	# Step 14 - make sure entropy collected when device is being polled
29257718be8SEnji Cooper	rump.envstat -c env0.conf
29357718be8SEnji Cooper	rump.sysctl -w hw.swsensor.cur_value=$3
29457718be8SEnji Cooper	sleep 5
29557718be8SEnji Cooper	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
29657718be8SEnji Cooper	sleep 5
29757718be8SEnji Cooper	new_rnd_bits=$( get_rnd_bits_count )
29857718be8SEnji Cooper	if [ $new_rnd_bits -le $rnd_bits ] ; then
29957718be8SEnji Cooper		atf_expect_fail "PR kern/47661"
30057718be8SEnji Cooper		atf_fail "14a: entropy bits did not increase after polling"
30157718be8SEnji Cooper	fi
30257718be8SEnji Cooper	rnd_bits=$new_rnd_bits
30357718be8SEnji Cooper	sleep 5
30457718be8SEnji Cooper	new_rnd_bits=$( get_rnd_bits_count )
30557718be8SEnji Cooper	if [ $new_rnd_bits -gt $rnd_bits ] ; then
30657718be8SEnji Cooper		atf_expect_fail "PR kern/47661"
30757718be8SEnji Cooper		atf_fail "14b: entropy bits increased after poll with no value change"
30857718be8SEnji Cooper	fi
30957718be8SEnji Cooper
31057718be8SEnji Cooper	# Step 15 - make sure entropy collected when device is interrogated
31157718be8SEnji Cooper	#
31257718be8SEnji Cooper	rump.envstat -c env0.conf
31357718be8SEnji Cooper	rump.sysctl -w hw.swsensor.cur_value=$3
31457718be8SEnji Cooper	get_sensor_key cur-value
31557718be8SEnji Cooper	rnd_bits=$( get_rnd_bits_count )
31657718be8SEnji Cooper	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
31757718be8SEnji Cooper	get_sensor_key cur-value
31857718be8SEnji Cooper	new_rnd_bits=$( get_rnd_bits_count )
31957718be8SEnji Cooper	if [ $new_rnd_bits -le $rnd_bits ] ; then
32057718be8SEnji Cooper		atf_expect_fail "PR kern/47661"
32157718be8SEnji Cooper		atf_fail "15a: entropy bits did not increase after interrogation"
32257718be8SEnji Cooper	fi
32357718be8SEnji Cooper	rnd_bits=$new_rnd_bits
32457718be8SEnji Cooper	get_sensor_key cur-value
32557718be8SEnji Cooper	new_rnd_bits=$( get_rnd_bits_count )
32657718be8SEnji Cooper	if [ $new_rnd_bits -gt $rnd_bits ] ; then
32757718be8SEnji Cooper		atf_expect_fail "PR kern/47661"
32857718be8SEnji Cooper		atf_fail "15b: entropy bits increased after interrogation with no value change"
32957718be8SEnji Cooper	fi
33057718be8SEnji Cooper}
33157718be8SEnji Cooper
33257718be8SEnji Cooperatf_test_case simple_sensor cleanup
33357718be8SEnji Coopersimple_sensor_head() {
33457718be8SEnji Cooper	common_head "Test a simple sensor"
33557718be8SEnji Cooper}
33657718be8SEnji Cooper
33757718be8SEnji Coopersimple_sensor_body() {
33857718be8SEnji Cooper	common_body 0 50 30 10 1
33957718be8SEnji Cooper}
34057718be8SEnji Cooper
34157718be8SEnji Coopersimple_sensor_cleanup() {
34257718be8SEnji Cooper	common_cleanup
34357718be8SEnji Cooper}
34457718be8SEnji Cooper
34557718be8SEnji Cooperatf_test_case limit_sensor cleanup
34657718be8SEnji Cooperlimit_sensor_head() {
34757718be8SEnji Cooper	common_head "Test a sensor with internal limit"
34857718be8SEnji Cooper}
34957718be8SEnji Cooper
35057718be8SEnji Cooperlimit_sensor_body() {
35157718be8SEnji Cooper	common_body 1 45 25 8 2
35257718be8SEnji Cooper}
35357718be8SEnji Cooper
35457718be8SEnji Cooperlimit_sensor_cleanup() {
35557718be8SEnji Cooper	common_cleanup
35657718be8SEnji Cooper}
35757718be8SEnji Cooper
35857718be8SEnji Cooperatf_test_case alarm_sensor cleanup
35957718be8SEnji Cooperalarm_sensor_head() {
36057718be8SEnji Cooper	common_head "Test a sensor with internal checking"
36157718be8SEnji Cooper}
36257718be8SEnji Cooper
36357718be8SEnji Cooperalarm_sensor_body() {
36457718be8SEnji Cooper	common_body 2 40 20 6 3
36557718be8SEnji Cooper}
36657718be8SEnji Cooper
36757718be8SEnji Cooperalarm_sensor_cleanup() {
36857718be8SEnji Cooper	common_cleanup
36957718be8SEnji Cooper}
37057718be8SEnji Cooper
37157718be8SEnji Cooperatf_test_case entropy_polled_sensor cleanup
37257718be8SEnji Cooperentropy_polled_sensor_head() {
37357718be8SEnji Cooper	common_head "Test a simple sensor that provides entropy"
37457718be8SEnji Cooper}
37557718be8SEnji Cooper
37657718be8SEnji Cooperentropy_polled_sensor_body() {
37757718be8SEnji Cooper	common_body 0 50 30 10 1 8192
37857718be8SEnji Cooper}
37957718be8SEnji Cooper
38057718be8SEnji Cooperentropy_polled_sensor_cleanup() {
38157718be8SEnji Cooper	common_cleanup
38257718be8SEnji Cooper}
38357718be8SEnji Cooper
38457718be8SEnji Cooperatf_test_case entropy_interrupt_sensor cleanup
38557718be8SEnji Cooperentropy_interrupt_sensor_head() {
38657718be8SEnji Cooper	common_head "Test a sensor that provides entropy without polling"
38757718be8SEnji Cooper}
38857718be8SEnji Cooper
38957718be8SEnji Cooperentropy_interrupt_sensor_body() {
39057718be8SEnji Cooper	common_body 0 50 30 10 1 10240
39157718be8SEnji Cooper}
39257718be8SEnji Cooper
39357718be8SEnji Cooperentropy_interrupt_sensor_cleanup() {
39457718be8SEnji Cooper	common_cleanup
39557718be8SEnji Cooper}
39657718be8SEnji Cooper
39757718be8SEnji Cooperatf_init_test_cases() {
39857718be8SEnji Cooper	RUMP_SERVER="unix://t_swsensor_socket" ; export RUMP_SERVER
39957718be8SEnji Cooper	atf_add_test_case simple_sensor
40057718be8SEnji Cooper	atf_add_test_case limit_sensor
40157718be8SEnji Cooper	atf_add_test_case alarm_sensor
40257718be8SEnji Cooper	atf_add_test_case entropy_polled_sensor
40357718be8SEnji Cooper	atf_add_test_case entropy_interrupt_sensor
40457718be8SEnji Cooper}
405