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