xref: /netbsd-src/tests/dev/sysmon/t_swsensor.sh (revision 8589c0430377f6d2cd1482015293570b8909b2b0)
1*8589c043Smsaitoh# $NetBSD: t_swsensor.sh,v 1.13 2021/12/05 08:16:10 msaitoh Exp $
22fbd2852Spgoyette
32fbd2852Spgoyetteget_sensor_info() {
42fbd2852Spgoyette	rump.envstat -x | \
52fbd2852Spgoyette	sed -e "\;swsensor;,\;/array;p" -e "d"
62fbd2852Spgoyette}
72fbd2852Spgoyette
82fbd2852Spgoyetteget_sensor_key() {
97f8653d8Spgoyette	local v
107f8653d8Spgoyette	v=$(get_sensor_info | grep -A1 $1 | grep integer | \
117f8653d8Spgoyette	    sed -e 's;<[/a-z]*>;;g')
127f8653d8Spgoyette	if [ -z "$v" ] ; then
137f8653d8Spgoyette		v="key_$1_not_found"
147f8653d8Spgoyette	fi
157f8653d8Spgoyette	echo $v
162fbd2852Spgoyette}
172fbd2852Spgoyette
182fbd2852Spgoyetteget_powerd_event_count() {
192fbd2852Spgoyette	grep "not running" powerd.log | wc -l
202fbd2852Spgoyette}
212fbd2852Spgoyette
22198966caSpgoyetteget_rnd_bits_count() {
23198966caSpgoyette	env RUMPHIJACK=blanket=/dev/random:/dev/urandom	\
24198966caSpgoyette	    RUMP_SERVER=unix://t_swsensor_socket	\
25198966caSpgoyette	    LD_PRELOAD=/usr/lib/librumphijack.so	  rndctl -l | \
26198966caSpgoyette	grep "swsensor-sensor" | \
278c611a8aSriastradh	awk '{print $3}'
28198966caSpgoyette}
29198966caSpgoyette
302fbd2852Spgoyettecheck_powerd_event() {
312fbd2852Spgoyette	event=$(grep "not running" powerd.log | \
322fbd2852Spgoyette		sed -e "$1p" -e "d" )
332fbd2852Spgoyette	event=${event##*//}
342fbd2852Spgoyette	script=${event%% *}
352fbd2852Spgoyette	event=${event#* }
362fbd2852Spgoyette	device=${event%% *}
372fbd2852Spgoyette	event=${event#* }
382fbd2852Spgoyette	state=${event%% *}
392fbd2852Spgoyette	sensor=${event#* }
402fbd2852Spgoyette	sensor=${sensor% *}
412fbd2852Spgoyette
422fbd2852Spgoyette	if [ "${script}" != "sensor_indicator" ] ; then
432fbd2852Spgoyette		echo "Event uses wrong script: ${script}"
442fbd2852Spgoyette	elif [ "${device}" != "swsensor" ] ; then
452fbd2852Spgoyette		echo "Event uses wrong device: ${device}"
462fbd2852Spgoyette	elif [ "${sensor}" != "sensor" ] ; then
472fbd2852Spgoyette		echo "Event uses wrong sensor: ${sensor}"
482fbd2852Spgoyette	elif [ "${state}" != "$2" ] ; then
492fbd2852Spgoyette		echo "Event uses wrong state: ${state}"
502fbd2852Spgoyette	fi
512fbd2852Spgoyette}
522fbd2852Spgoyette
532fbd2852Spgoyette# Start the rump server, then load the swsensor module with the
542fbd2852Spgoyette# requested properties
552fbd2852Spgoyette
562fbd2852Spgoyettestart_rump() {
57198966caSpgoyette	rump_allserver -l rumpvfs -l rumpdev -l rumpdev_sysmon ${RUMP_SERVER}
582fbd2852Spgoyette	if [ $( get_sensor_info | wc -l ) -ne 0 ] ; then
592fbd2852Spgoyette		rump.modunload swsensor
602fbd2852Spgoyette		rump.modload -f $1 swsensor
612fbd2852Spgoyette	else
622fbd2852Spgoyette		rump.modload $1 swsensor
632fbd2852Spgoyette	fi
642fbd2852Spgoyette	return $?
652fbd2852Spgoyette}
662fbd2852Spgoyette
672fbd2852Spgoyettecommon_head() {
682fbd2852Spgoyette	atf_set	descr		"$1"
69610137e5Smartin	atf_set	timeout		120
702fbd2852Spgoyette	atf_set	require.progs	rump.powerd rump.envstat rump.modload	\
71ee1e1b3dSpgoyette				rump.halt   rump.sysctl  rump_server	\
72198966caSpgoyette				sed         grep         awk		\
73198966caSpgoyette				rndctl      expr
742fbd2852Spgoyette}
752fbd2852Spgoyette
762fbd2852Spgoyettecommon_cleanup() {
772fbd2852Spgoyette	rump.modunload swsensor
782fbd2852Spgoyette	rump.halt
792fbd2852Spgoyette}
802fbd2852Spgoyette
812fbd2852Spgoyettecreate_envsys_conf_files() {
822fbd2852Spgoyette	cat << ENV0 > env0.conf
832fbd2852Spgoyette	swsensor {
842fbd2852Spgoyette		refresh-timeout = 2s;
852fbd2852Spgoyette	}
862fbd2852SpgoyetteENV0
872fbd2852Spgoyette	cat << ENV1 > env1.conf
882fbd2852Spgoyette	swsensor {
892fbd2852Spgoyette		sensor0 { critical-min = $(( $1 - $2 )); }
902fbd2852Spgoyette	}
912fbd2852SpgoyetteENV1
922fbd2852Spgoyette	cat << ENV2 > env2.conf
932fbd2852Spgoyette	swsensor {
942fbd2852Spgoyette		sensor0 { critical-min = $1; }
952fbd2852Spgoyette	}
962fbd2852SpgoyetteENV2
972fbd2852Spgoyette}
982fbd2852Spgoyette
992fbd2852Spgoyette# Test body common to all sensors
1002fbd2852Spgoyette#	$1	sensor mode
1012fbd2852Spgoyette#	$2	initial sensor value
1022fbd2852Spgoyette#	$3	initial limit
1032fbd2852Spgoyette#	$4	amount to lower limit
1042fbd2852Spgoyette#	$5	difference from limit to trigger event
105198966caSpgoyette#	$6	sensor flags, for FHAS_ENTROPY and FMONNOTSUPP
1062fbd2852Spgoyette
1072fbd2852Spgoyettecommon_body() {
1082fbd2852Spgoyette	# Start the rump-server process and load the module
109198966caSpgoyette	modload_args="-i mode=$1 -i value=$2 -i limit=$3 ${6:+-i flags=$6}"
110198966caSpgoyette	start_rump "$modload_args"
1112fbd2852Spgoyette
1122fbd2852Spgoyette	# create configuration files for updates
1132fbd2852Spgoyette	create_envsys_conf_files $3 $4
1142fbd2852Spgoyette
1152fbd2852Spgoyette	if [ $? -ne 0 ] ; then
1162fbd2852Spgoyette		atf_skip "Cannot set-up rump environment"
1172fbd2852Spgoyette	fi
1182fbd2852Spgoyette
1192fbd2852Spgoyette	# start powerd so we can detect sensor events
1202fbd2852Spgoyette	rump.powerd -n -d > powerd.log 2>&1 &
1212fbd2852Spgoyette	if [ -z "$(jobs)" ] ; then
1222fbd2852Spgoyette		skip_events=1
1232fbd2852Spgoyette		echo "Skipping event sub-tests - powerd did not start"
1242fbd2852Spgoyette	else
1252fbd2852Spgoyette		skip_events=0
1262fbd2852Spgoyette		expected_event=1
1272fbd2852Spgoyette	fi
1282fbd2852Spgoyette
1292fbd2852Spgoyette	# Step 0 - verify that sensor is registered
1302fbd2852Spgoyette	get_sensor_info | grep -q swsensor ||
1312fbd2852Spgoyette		atf_fail "0: Device swsensor not registered"
1322fbd2852Spgoyette
1332fbd2852Spgoyette	# Step 1 - update the refresh-timeout and verify
1342fbd2852Spgoyette	# (use $(( ... )) since the timeout is displayed in hex!)
1352fbd2852Spgoyette	rump.envstat -c env0.conf
1362fbd2852Spgoyette	if [ $(( $( get_sensor_key refresh-timeout ) )) -ne 2 ] ; then
137*8589c043Smsaitoh		atf_fail "1: Could not set refresh-timeout to 2s"
1382fbd2852Spgoyette	fi
1392fbd2852Spgoyette
1402fbd2852Spgoyette	# Step 2 - verify that we can read sensor's value
1412fbd2852Spgoyette	if [ $1 -ne 0 -a $( get_sensor_key cur-value ) -ne $2 ] ; then
1422fbd2852Spgoyette		atf_fail "2: Value not available"
1432fbd2852Spgoyette	fi
1442fbd2852Spgoyette
1452fbd2852Spgoyette	# Step 3 - verify that changes in sensor value are seen
1462fbd2852Spgoyette	rump.sysctl -w hw.swsensor.cur_value=$(( $2 + 1 ))
1472fbd2852Spgoyette	if [ $( get_sensor_key cur-value ) -ne $(( $2 + 1 )) ] ; then
1482fbd2852Spgoyette		atf_fail "3: Value not updated"
1492fbd2852Spgoyette	fi
1502fbd2852Spgoyette
1512fbd2852Spgoyette	# Step 4 - if sensor provides hw limit, make sure we can read it
1522fbd2852Spgoyette	if [ $1 -ne 0 ] ; then
1532fbd2852Spgoyette		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
1542fbd2852Spgoyette			atf_fail "4: Limit not set by device"
1552fbd2852Spgoyette		fi
1562fbd2852Spgoyette	fi
1572fbd2852Spgoyette
1582fbd2852Spgoyette	# Step 5 - if sensor provides hw limit, make sure it works
1592fbd2852Spgoyette	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
1602fbd2852Spgoyette		rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $5 ))
1619231586dSpgoyette		sleep 5
1622fbd2852Spgoyette		cnt=$(get_powerd_event_count)
1632fbd2852Spgoyette		if [ ${cnt} -lt ${expected_event} ] ; then
1642fbd2852Spgoyette			atf_fail "5: No event triggered"
1652fbd2852Spgoyette		elif [ ${cnt} -gt ${expected_event} ] ; then
1662fbd2852Spgoyette			atf_fail "5: Multiple events triggered"
1672fbd2852Spgoyette		fi
1682fbd2852Spgoyette		evt=$( check_powerd_event ${cnt} "critical-under")
1692fbd2852Spgoyette		if [ -n "${evt}" ] ; then
1702fbd2852Spgoyette			atf_fail "5: ${evt}"
1712fbd2852Spgoyette		fi
1722fbd2852Spgoyette		expected_event=$(( 1 + ${expected_event} ))
1732fbd2852Spgoyette	fi
1742fbd2852Spgoyette
1752fbd2852Spgoyette	# Step 6 - verify that we return to normal state
1762fbd2852Spgoyette	if [ $1 -ne 0 -a ${skip_events} -eq 0 ] ; then
1772fbd2852Spgoyette		rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $5 ))
1782fbd2852Spgoyette		sleep 5
1792fbd2852Spgoyette		cnt=$(get_powerd_event_count)
1802fbd2852Spgoyette		if [ ${cnt} -lt ${expected_event} ] ; then
1812fbd2852Spgoyette			atf_fail "6: No event triggered"
1822fbd2852Spgoyette		elif [ ${cnt} -gt ${expected_event} ] ; then
1832fbd2852Spgoyette			atf_fail "6: Multiple events triggered"
1842fbd2852Spgoyette		fi
1852fbd2852Spgoyette		evt=$( check_powerd_event ${cnt} "normal")
1862fbd2852Spgoyette		if [ -n "${evt}" ] ; then
1872fbd2852Spgoyette			atf_fail "6: ${evt}"
1882fbd2852Spgoyette		fi
1892fbd2852Spgoyette		expected_event=$(( 1 + ${expected_event} ))
1902fbd2852Spgoyette	fi
1912fbd2852Spgoyette
1922fbd2852Spgoyette	# Step 7 - verify that we can set our own limit
193198966caSpgoyette
194198966caSpgoyette	# Steps 7 thru 12 are skipped if the sensor cannot be monitored
195198966caSpgoyette	if [ $( expr \( 0$6 / 2048 \) % 2 ) -ne 1 ] ; then
1962fbd2852Spgoyette		rump.envstat -c env1.conf
1972fbd2852Spgoyette		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
1982fbd2852Spgoyette			atf_fail "7: Limit not set by envstat -c"
1992fbd2852Spgoyette		fi
2002fbd2852Spgoyette
2012fbd2852Spgoyette	# Step 8 - make sure user-set limit works
2022fbd2852Spgoyette		if [ ${skip_events} -eq 0 ] ; then
2032fbd2852Spgoyette			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
2042fbd2852Spgoyette			sleep 5
2052fbd2852Spgoyette			cnt=$(get_powerd_event_count)
2062fbd2852Spgoyette			if [ ${cnt} -lt ${expected_event} ] ; then
2072fbd2852Spgoyette				atf_fail "8: No event triggered"
2082fbd2852Spgoyette			elif [ ${cnt} -gt ${expected_event} ] ; then
2092fbd2852Spgoyette				atf_fail "8: Multiple events triggered"
2102fbd2852Spgoyette			fi
2112fbd2852Spgoyette			evt=$( check_powerd_event ${cnt} "critical-under")
2122fbd2852Spgoyette			if [ -n "${evt}" ] ; then
2132fbd2852Spgoyette				atf_fail "8: ${evt}"
2142fbd2852Spgoyette			fi
2152fbd2852Spgoyette			expected_event=$(( 1 + ${expected_event} ))
2162fbd2852Spgoyette		fi
2172fbd2852Spgoyette
2182fbd2852Spgoyette	# Step 9 - verify that we return to normal state
2192fbd2852Spgoyette		if [ ${skip_events} -eq 0 ] ; then
2202fbd2852Spgoyette			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 + $5 ))
2212fbd2852Spgoyette			sleep 5
2222fbd2852Spgoyette			cnt=$(get_powerd_event_count)
2232fbd2852Spgoyette			if [ ${cnt} -lt ${expected_event} ] ; then
2242fbd2852Spgoyette				atf_fail "9: No event triggered"
2252fbd2852Spgoyette			elif [ ${cnt} -gt ${expected_event} ] ; then
2262fbd2852Spgoyette				atf_fail "9: Multiple events triggered"
2272fbd2852Spgoyette			fi
2282fbd2852Spgoyette			evt=$( check_powerd_event ${cnt} "normal")
2292fbd2852Spgoyette			if [ -n "${evt}" ] ; then
2302fbd2852Spgoyette				atf_fail "9: ${evt}"
2312fbd2852Spgoyette			fi
2322fbd2852Spgoyette			expected_event=$(( 1 + ${expected_event} ))
2332fbd2852Spgoyette		fi
2342fbd2852Spgoyette
2352fbd2852Spgoyette	# Step 10 - reset to defaults
2362fbd2852Spgoyette		rump.envstat -S
2372fbd2852Spgoyette		if [ $1 -eq 0 ] ; then
2382fbd2852Spgoyette			get_sensor_info | grep -q critical-min &&
2392fbd2852Spgoyette				atf_fail "10: Failed to clear a limit with envstat -S"
2402fbd2852Spgoyette		else
2412fbd2852Spgoyette			if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
2422fbd2852Spgoyette				atf_fail "10: Limit not reset to initial value"
2432fbd2852Spgoyette			fi
2442fbd2852Spgoyette		fi
2452fbd2852Spgoyette
2462fbd2852Spgoyette	# Step 11 - see if more events occur
2472fbd2852Spgoyette		if [ ${skip_events} -eq 0 ] ; then
2482fbd2852Spgoyette			rump.envstat -c env0.conf
2492fbd2852Spgoyette			rump.sysctl -w hw.swsensor.cur_value=$(( $3 - $4 - $5 ))
2502fbd2852Spgoyette			sleep 5
2512fbd2852Spgoyette			cnt=$(get_powerd_event_count)
2522fbd2852Spgoyette			if [ ${cnt} -ge ${expected_event} ] ; then
2530e0fe099Spgoyette				if [ $1 -ne 2 ] ; then
2540e0fe099Spgoyette					atf_fail "11b Event triggered after reset"
2550e0fe099Spgoyette				fi
2560e0fe099Spgoyette				evt=$( check_powerd_event ${cnt} "critical-under")
2570e0fe099Spgoyette				if [ -n "${evt}" ] ; then
2580e0fe099Spgoyette					atf_fail "11a: ${evt}"
2590e0fe099Spgoyette				fi
2602fbd2852Spgoyette			fi
2612fbd2852Spgoyette		fi
2622fbd2852Spgoyette
2632fbd2852Spgoyette	# Step 12 - make sure we can set new limits once more
2642fbd2852Spgoyette		rump.envstat -c env2.conf
2652fbd2852Spgoyette		if [ $( get_sensor_key critical-min ) -ne $3 ] ; then
2662fbd2852Spgoyette			atf_fail "12a: Limit not reset to same value"
2672fbd2852Spgoyette		fi
2682fbd2852Spgoyette		rump.envstat -c env1.conf
2692fbd2852Spgoyette		if [ $( get_sensor_key critical-min ) -ne $(( $3 - $4 )) ] ; then
2702fbd2852Spgoyette			atf_fail "12b: Limit not reset to new value"
2712fbd2852Spgoyette		fi
272198966caSpgoyette	fi
273198966caSpgoyette
274198966caSpgoyette	# Step 13 - confirm registration (or lack thereof) with rndctl
275198966caSpgoyette	rnd_bits=$( get_rnd_bits_count )
276198966caSpgoyette	if [ $( expr \( 0$6 / 8192 \) % 2 ) -eq 1 ] ; then
277198966caSpgoyette		if [ -z "$rnd_bits" ] ; then
278198966caSpgoyette			atf_fail "13a: Not registered with rndctl"
279198966caSpgoyette		fi
280198966caSpgoyette	else
281198966caSpgoyette		if [ -n "$rnd_bits" ] ; then
282198966caSpgoyette			atf_fail "13b: Wrongly registered with rndctl"
283198966caSpgoyette		fi
284198966caSpgoyette	fi
285198966caSpgoyette
286198966caSpgoyette	# Steps 14 and 15 are only if sensor is providing entropy
287198966caSpgoyette	if [ $( expr \( 0$6 / 8192 \) % 2 ) -ne 1 ] ; then
288198966caSpgoyette		return
289198966caSpgoyette	fi
290198966caSpgoyette
291198966caSpgoyette	# Step 14 - make sure entropy collected when device is being polled
292198966caSpgoyette	rump.envstat -c env0.conf
293198966caSpgoyette	rump.sysctl -w hw.swsensor.cur_value=$3
294198966caSpgoyette	sleep 5
295198966caSpgoyette	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
296198966caSpgoyette	sleep 5
297198966caSpgoyette	new_rnd_bits=$( get_rnd_bits_count )
298198966caSpgoyette	if [ $new_rnd_bits -le $rnd_bits ] ; then
299198966caSpgoyette		atf_fail "14a: entropy bits did not increase after polling"
300198966caSpgoyette	fi
301198966caSpgoyette	rnd_bits=$new_rnd_bits
302198966caSpgoyette	sleep 5
303198966caSpgoyette	new_rnd_bits=$( get_rnd_bits_count )
304198966caSpgoyette	if [ $new_rnd_bits -gt $rnd_bits ] ; then
305198966caSpgoyette		atf_fail "14b: entropy bits increased after poll with no value change"
306198966caSpgoyette	fi
307198966caSpgoyette
308198966caSpgoyette	# Step 15 - make sure entropy collected when device is interrogated
309198966caSpgoyette	rump.envstat -c env0.conf
310198966caSpgoyette	rump.sysctl -w hw.swsensor.cur_value=$3
311198966caSpgoyette	get_sensor_key cur-value
312198966caSpgoyette	rnd_bits=$( get_rnd_bits_count )
313198966caSpgoyette	rump.sysctl -w hw.swsensor.cur_value=$(( $3 + $4 ))
314198966caSpgoyette	get_sensor_key cur-value
315198966caSpgoyette	new_rnd_bits=$( get_rnd_bits_count )
316198966caSpgoyette	if [ $new_rnd_bits -le $rnd_bits ] ; then
317198966caSpgoyette		atf_fail "15a: entropy bits did not increase after interrogation"
318198966caSpgoyette	fi
319198966caSpgoyette	rnd_bits=$new_rnd_bits
320198966caSpgoyette	get_sensor_key cur-value
321198966caSpgoyette	new_rnd_bits=$( get_rnd_bits_count )
322198966caSpgoyette	if [ $new_rnd_bits -gt $rnd_bits ] ; then
323198966caSpgoyette		atf_fail "15b: entropy bits increased after interrogation with no value change"
324198966caSpgoyette	fi
3252fbd2852Spgoyette}
3262fbd2852Spgoyette
3272fbd2852Spgoyetteatf_test_case simple_sensor cleanup
3282fbd2852Spgoyettesimple_sensor_head() {
3292fbd2852Spgoyette	common_head "Test a simple sensor"
3302fbd2852Spgoyette}
3312fbd2852Spgoyette
3322fbd2852Spgoyettesimple_sensor_body() {
3332fbd2852Spgoyette	common_body 0 50 30 10 1
3342fbd2852Spgoyette}
3352fbd2852Spgoyette
3362fbd2852Spgoyettesimple_sensor_cleanup() {
3372fbd2852Spgoyette	common_cleanup
3382fbd2852Spgoyette}
3392fbd2852Spgoyette
3402fbd2852Spgoyetteatf_test_case limit_sensor cleanup
3412fbd2852Spgoyettelimit_sensor_head() {
3422fbd2852Spgoyette	common_head "Test a sensor with internal limit"
3432fbd2852Spgoyette}
3442fbd2852Spgoyette
3452fbd2852Spgoyettelimit_sensor_body() {
3462fbd2852Spgoyette	common_body 1 45 25 8 2
3472fbd2852Spgoyette}
3482fbd2852Spgoyette
3492fbd2852Spgoyettelimit_sensor_cleanup() {
3502fbd2852Spgoyette	common_cleanup
3512fbd2852Spgoyette}
3522fbd2852Spgoyette
3532fbd2852Spgoyetteatf_test_case alarm_sensor cleanup
3542fbd2852Spgoyettealarm_sensor_head() {
3552fbd2852Spgoyette	common_head "Test a sensor with internal checking"
3562fbd2852Spgoyette}
3572fbd2852Spgoyette
3582fbd2852Spgoyettealarm_sensor_body() {
3592fbd2852Spgoyette	common_body 2 40 20 6 3
3602fbd2852Spgoyette}
3612fbd2852Spgoyette
3622fbd2852Spgoyettealarm_sensor_cleanup() {
3632fbd2852Spgoyette	common_cleanup
3642fbd2852Spgoyette}
3652fbd2852Spgoyette
366198966caSpgoyetteatf_test_case entropy_polled_sensor cleanup
367198966caSpgoyetteentropy_polled_sensor_head() {
368198966caSpgoyette	common_head "Test a simple sensor that provides entropy"
369198966caSpgoyette}
370198966caSpgoyette
371198966caSpgoyetteentropy_polled_sensor_body() {
372198966caSpgoyette	common_body 0 50 30 10 1 8192
373198966caSpgoyette}
374198966caSpgoyette
375198966caSpgoyetteentropy_polled_sensor_cleanup() {
376198966caSpgoyette	common_cleanup
377198966caSpgoyette}
378198966caSpgoyette
379198966caSpgoyetteatf_test_case entropy_interrupt_sensor cleanup
380198966caSpgoyetteentropy_interrupt_sensor_head() {
381198966caSpgoyette	common_head "Test a sensor that provides entropy without polling"
382198966caSpgoyette}
383198966caSpgoyette
384198966caSpgoyetteentropy_interrupt_sensor_body() {
385198966caSpgoyette	common_body 0 50 30 10 1 10240
386198966caSpgoyette}
387198966caSpgoyette
388198966caSpgoyetteentropy_interrupt_sensor_cleanup() {
389198966caSpgoyette	common_cleanup
390198966caSpgoyette}
391198966caSpgoyette
3922fbd2852Spgoyetteatf_init_test_cases() {
3930e0fe099Spgoyette	RUMP_SERVER="unix://t_swsensor_socket" ; export RUMP_SERVER
3942fbd2852Spgoyette	atf_add_test_case simple_sensor
3952fbd2852Spgoyette	atf_add_test_case limit_sensor
3962fbd2852Spgoyette	atf_add_test_case alarm_sensor
397198966caSpgoyette	atf_add_test_case entropy_polled_sensor
398198966caSpgoyette	atf_add_test_case entropy_interrupt_sensor
3992fbd2852Spgoyette}
400