# @name CPUIDLE Tests
# @desc Check DUT after being idle for some time
# @requires power_mgr/cpuidle

POWERMGR_S_FUNC_quick_idle st=`date +%s`; echo 'Going to sleep for 1 minute...'; sleep 1m; et=`date +%s`; dt=$(($et - $st - (60))); dt=${dt#-}; echo "start time:$st"; echo "end time:$et"; echo "deviation time:$dt"; [ $dt -lt 2 ] 

POWERMGR_S_FUNC_cpuidle source super-pm-tests.sh; is_cpuidle_available; check_cpuidle_stats; report_stats "BEFORE IDLE"; sleep 2m; report_stats "After IDLE"; check_cpuidle_stats

POWERMGR_XXL_STRESS_2days_idle st=`date +%s`; echo 'Going to sleep for 2 days...'; sleep 2d; et=`date +%s`; dt=$(($et - $st - (60*60*24*2))); dt=${dt#-}; echo "start time:$st"; echo "end time:$et"; echo "deviation time:$dt"; [ $dt -lt 60 ]

POWERMGR_S_FUNC_check_dplls_after_idle source super-pm-tests.sh; set_governor cpu0 userspace; get_clk_summary before_rates; test_idle; get_clk_summary after_rates; check_array_values before_rates[@] after_rates[@] "-eq"
