From 2313bb00ae499b13d19e9bca07afb4370854b343 Mon Sep 17 00:00:00 2001 From: Fred Oh Date: Fri, 19 Jul 2024 15:19:32 -0700 Subject: [PATCH] check-suspend-resume: check process id in each loop for audio test case check-suspend-resume-with-audio.sh uses check-suspend-resume.sh. process check is in check-suspend-resume-with-audio.sh and check-suspend-resume.sh has the loop. Must check that the process id is available in each loop. TO do so, pass aplay/arecord pid to check-suspend-resume.sh. Signed-off-by: Fred Oh --- test-case/check-suspend-resume-with-audio.sh | 4 +++- test-case/check-suspend-resume.sh | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/test-case/check-suspend-resume-with-audio.sh b/test-case/check-suspend-resume-with-audio.sh index 60eda3e1..40397a54 100755 --- a/test-case/check-suspend-resume-with-audio.sh +++ b/test-case/check-suspend-resume-with-audio.sh @@ -119,7 +119,9 @@ do ps --ppid $$ -f exit 1 } - "${TESTDIR}"/check-suspend-resume.sh "${opt_arr[@]}" || die "suspend resume failed" + # Pass -p $process_id option to check-suspend-resume.sh + suspend_opts=("${opt_arr[@]}" -p "$process_id") + "${TESTDIR}"/check-suspend-resume.sh "${suspend_opts[@]}" || die "suspend resume failed" # check kernel log for each iteration to catch issues sof-kernel-log-check.sh "$LOCAL_CHECK_POINT" || die "Caught error in kernel log" diff --git a/test-case/check-suspend-resume.sh b/test-case/check-suspend-resume.sh index c8b17d29..a1f59764 100755 --- a/test-case/check-suspend-resume.sh +++ b/test-case/check-suspend-resume.sh @@ -44,6 +44,10 @@ OPT_HAS_ARG['w']=1 OPT_VAL['w']=5 OPT_NAME['r']='random' OPT_DESC['r']="Randomly setup wait/sleep time, range is [$random_min-$random_max], this option will overwrite s & w option" OPT_HAS_ARG['r']=0 OPT_VAL['r']=0 +# processid is set by check-suspend-resume-with-audio.sh for audio test case +OPT_NAME['p']='processid' OPT_DESC['p']='Fail immediately if this process dies' +OPT_HAS_ARG['p']=1 OPT_VAL['p']='' + func_opt_parse_option "$@" func_lib_check_sudo @@ -196,6 +200,17 @@ sleep_once() [ "$stats_success" -eq "$expected_stats_success" ] || dump_and_die "/sys/power/suspend_stats/success is $stats_success, expected $expected_stats_success" check_suspend_fails || dump_and_die "some failure counts have changed" + + # if OPT_VAL['p'] has process id, then check the process id is available in the system + if [ "${OPT_VAL['p']}" ]; then + dlogi "Check for the process status, pid: ${OPT_VAL['p']}" + sof-process-state.sh "${OPT_VAL['p']}" || { + dloge "process status is abnormal, pid: ${OPT_VAL['p']}" + dlogi "dump ps for child process" + ps --ppid $$ -f + exit 1 + } + fi } main "$@"