# @name suspend/standby resume tests
# @desc Test suspend/standby resume 
# @requires power_mgr 

POWERMGR_XS_FUNC_SIMPLE_SUSPEND source 'functions.sh'; suspend -i 2 -p "mem"

POWERMGR_S_FUNC_SIMPLE_SUSPEND source 'functions.sh'; suspend -i 10 -p "mem"

POWERMGR_L_STRESS_SIMPLE_SUSPEND source 'functions.sh'; suspend -i 100 -p "mem"

POWERMGR_XL_STRESS_SIMPLE_SUSPEND source 'functions.sh'; suspend -i 1000 -p "mem"

POWERMGR_XXL_STRESS_SIMPLE_SUSPEND source 'functions.sh'; suspend -i 4000 -p "mem"

POWERMGR_XS_FUNC_SIMPLE_STANDBY source 'functions.sh'; suspend -i 2 -p "standby"

POWERMGR_S_FUNC_SIMPLE_STANDBY source 'functions.sh'; suspend -i 10 -p "standby"

POWERMGR_L_STRESS_SIMPLE_STANDBY source 'functions.sh'; suspend -i 100 -p "standby"

POWERMGR_XL_STRESS_SIMPLE_STANDBY source 'functions.sh'; suspend -i 1000 -p "standby"

POWERMGR_XS_FUNC_SIMPLE_SUSPEND_OFF source 'functions.sh'; OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && suspend -i 2 -p "mem" && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; echo "Verify PM_DEBUG is enabled"; exit 1)

POWERMGR_S_FUNC_SIMPLE_SUSPEND_OFF source 'functions.sh'; OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && suspend -i 10 -p "mem" && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; echo "Verify PM_DEBUG is enabled"; exit 1)

POWERMGR_L_STRESS_SIMPLE_SUSPEND_OFF source 'functions.sh'; OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && suspend -i 100 -p "mem" && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; echo "Verify PM_DEBUG is enabled"; exit 1)

POWERMGR_XL_STRESS_SIMPLE_SUSPEND_OFF source 'functions.sh'; OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && suspend -i 1000 -p "mem" && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; echo "Verify PM_DEBUG is enabled"; exit 1)

POWERMGR_S_FUNC_SUSPEND_STANDBY source 'functions.sh'; declare -a arr=("mem" "standby"); for i in `seq 10`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done

POWERMGR_L_STRESS_SUSPEND_STANDBY source 'functions.sh'; declare -a arr=("mem" "standby"); for i in `seq 100`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done

POWERMGR_XL_STRESS_SUSPEND_STANDBY source 'functions.sh'; declare -a arr=("mem" "standby"); for i in `seq 1000`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done

POWERMGR_S_FUNC_SUSPEND_STANDBY_OFF source 'functions.sh'; declare -a arr=("mem" "standby"); OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && for i in `seq 10`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; exit 1)

POWERMGR_L_STRESS_SUSPEND_STANDBY_OFF source 'functions.sh'; declare -a arr=("mem" "standby"); OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && for i in `seq 100`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; exit 1)

POWERMGR_XL_STRESS_SUSPEND_STANDBY_OFF source 'functions.sh'; declare -a arr=("mem" "standby"); OM_PATH='/sys/kernel/debug/pm_debug/enable_off_mode'; do_cmd "echo 1 > ${OM_PATH}" && for i in `seq 1000`; do test_print_trc "Outer Loop: $i"; suspend -i 1 -p ${arr[$(( $RANDOM % 2 )) ]}; done && do_cmd "echo 0 > ${OM_PATH}" || ("echo 0 > ${OM_PATH}"; exit 1)

POWERMGR_M_FUNC_CHECK_PWRDMS_STATE_IN_SUSPEND test_pwrdm_states_on_suspend.sh 3