Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions host-tools/Apps_Suspend_Resume/Apps_Suspend_Resume.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
metadata:
name: Apps_Suspend_Resume
format: "Lava-Test Test Definition 1.0"
description: "Host-side APPS suspend/resume validation using serial transport and /sys/power/suspend_stats"
os:
- linux
scope:
- functional

params:
TRANSPORT: serial
SERIAL_PORT: ""
SERIAL_BAUDRATE: 115200
WAKE_METHOD: tac-power-key
TAC_API_BIN: /usr/local/bin/tac-api.py
TAC_SERIAL: ""
TAC_POWER_KEY_PRESS_COMMAND: powerKeyPress
TAC_POWER_KEY_RELEASE_COMMAND: powerKeyRelease
TAC_WAKE_HOLD_MS: 1000
TAC_WAKE_COMMAND: ""
TAC_USB_DISCONNECT_COMMAND: usbDisconnect
TAC_USB_CONNECT_COMMAND: usbConnect
CYCLES: 1
SUSPEND_DELAY: 10
PRE_DISCONNECT_DELAY: 1
SUSPEND_WINDOW: 10
RESUME_TIMEOUT: 20
POST_WAKE_SETTLE: 3
COMMAND_TIMEOUT: 30
ALLOW_ADB_FALLBACK: 0

run:
steps:
- REPO_PATH=$PWD
- cd host-tools/Apps_Suspend_Resume
- ./run.sh || true
- $REPO_PATH/Runner/utils/send-to-lava.sh Apps_Suspend_Resume.res
73 changes: 73 additions & 0 deletions host-tools/Apps_Suspend_Resume/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/sh

# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
# SPDX-License-Identifier: BSD-3-Clause

TESTNAME="Apps_Suspend_Resume"
SCRIPT_DIR="$(
cd "$(dirname "$0")" || exit 1
pwd
)"
RES_FILE="$SCRIPT_DIR/${TESTNAME}.res"
PYTHON_BIN="${PYTHON_BIN:-python3}"

cd "$SCRIPT_DIR" || exit 1
rm -f "$RES_FILE"

log_info() {
printf '[INFO] %s - %s\n' "$(date '+%Y-%m-%d %H:%M:%S' 2>/dev/null || echo unknown)" "$*"
}

log_fail() {
printf '[FAIL] %s - %s\n' "$(date '+%Y-%m-%d %H:%M:%S' 2>/dev/null || echo unknown)" "$*"
}

log_skip() {
printf '[SKIP] %s - %s\n' "$(date '+%Y-%m-%d %H:%M:%S' 2>/dev/null || echo unknown)" "$*"
}

write_result_if_missing() {
result="$1"

if [ ! -s "$RES_FILE" ]; then
echo "$TESTNAME $result" > "$RES_FILE"
fi
}

log_info "-----------------------------------------------------------------------------------------"
log_info "------------------- Starting $TESTNAME host test ----------------------------"
log_info "Result file, $RES_FILE"

if ! command -v "$PYTHON_BIN" >/dev/null 2>&1; then
log_skip "python3 is not available on host"
echo "$TESTNAME SKIP" > "$RES_FILE"
exit 0
fi

if [ ! -f "$SCRIPT_DIR/suspend_resume.py" ]; then
log_fail "suspend_resume.py not found in $SCRIPT_DIR"
echo "$TESTNAME FAIL" > "$RES_FILE"
exit 1
fi

"$PYTHON_BIN" "$SCRIPT_DIR/suspend_resume.py" \
--result-file "$RES_FILE" \
"$@"
rc=$?

case "$rc" in
0)
write_result_if_missing "PASS"
;;
77)
write_result_if_missing "SKIP"
;;
*)
write_result_if_missing "FAIL"
;;
esac

log_info "Final result, $(cat "$RES_FILE" 2>/dev/null || echo unknown)"
log_info "------------------- Completed $TESTNAME host test ----------------------------"

exit "$rc"
Loading
Loading