bootrr: Move common functions to bootrr

Move the common functions to a helper and use this from
assert_device_present.

Make assert_device_present accept a fourth parameter for a timeout,
which will cause the assert to wait for the given amount of time for the
device to appear.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Bjorn Andersson
2018-03-07 18:07:09 -08:00
parent ede63f2b8a
commit 94e92916fd
2 changed files with 27 additions and 7 deletions

View File

@@ -1,18 +1,17 @@
#!/bin/sh
source /usr/bin/bootrr
TEST_CASE_ID="$1"
DRIVER="$2"
DEVICE="$3"
TIMEOUT="${4:-1}"
if [ -z "${TEST_CASE_ID}" -o -z "${DRIVER}" -o -z "${DEVICE}" ]; then
echo "Usage: $0 <test-case-id> <driver> <device>"
echo "Usage: $0 <test-case-id> <driver> <device> [<timeout>]"
exit 1
fi
if [ -L /sys/bus/*/drivers/${DRIVER}/${DEVICE} ]; then
TEST_RESULT="pass"
else
TEST_RESULT="fail"
fi
timeout ${TIMEOUT} [ -L /sys/bus/*/drivers/${DRIVER}/${DEVICE} ] || test_report_exit fail
lava-test-case "${TEST_CASE_ID}" --result ${TEST_RESULT}
test_report_exit pass

21
helpers/bootrr Normal file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
timeout() {
attempts="$1"; shift
cmd="$@"
for i in `seq ${attempts}`
do
$cmd && return 0
sleep 1
done
return 1
}
test_report_exit() {
TEST_RESULT=$1
lava-test-case ${TEST_CASE_ID} --result ${TEST_RESULT}
exit 0
}