diff --git a/bat/alsabat-test.sh b/bat/alsabat-test.sh index aa0281b..bc3d512 100755 --- a/bat/alsabat-test.sh +++ b/bat/alsabat-test.sh @@ -15,6 +15,10 @@ logdir="tmp" maxfreq=16547 minfreq=17 +# sleep time and pause time +sleep_time=5 +pause_time=2 + # features passes vs. features all feature_pass=0 feature_cnt=0 @@ -48,6 +52,35 @@ feature_test () { echo "$commands $1" >> $logdir/$((feature_cnt-1)).log } +feature_test_power () { + echo "============================================" + echo "$feature_cnt: ALSA $2" + echo "-------------------------------------------" + echo "$commands $1 --log=$logdir/$feature_cnt.log" + + # run alsabat in the background + nohup $commands $1 > $logdir/$feature_cnt.log 2>&1 & + sleep $pause_time + pid=`ps -aux |grep alsabat|head -1 |awk -F ' ' '{print $2}'` + + # stop the alsabat thread + kill -STOP $pid > /dev/null + sleep 4 + + # do system S3 + rtcwake -m mem -s $sleep_time + sleep $pause_time + + # resume the alasbat thread to run + kill -CONT $pid > /dev/null + + # wait for alsabat to complete the analysis + sleep $pause_time + cat $logdir/$feature_cnt.log |grep -i "Return value is 0" > /dev/null + evaluate_result $? + echo "$commands $1" >> $logdir/$((feature_cnt-1)).log +} + # test items feature_list_test () { init_counter @@ -87,6 +120,7 @@ feature_list_test () { "noise detect threshold in SNR(dB)" feature_test "--snr-pc 5" \ "noise detect threshold in noise percentage(%)" + feature_test_power "-n5s" "power management: S3 test" print_result }