summaryrefslogtreecommitdiffstats
path: root/scripts/common.sh.in
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2010-09-10 21:44:17 -0700
committerBrian Behlendorf <[email protected]>2010-09-11 20:54:41 -0700
commit2c4834f87af4beec4b16157622c85d2850cce25f (patch)
treefd389b2c63285dd28249b23fe63d054ec884938e /scripts/common.sh.in
parentac063c48ae12061bbe0f66b3a9d641239782ae62 (diff)
Wait up to timeout seconds for udev devicezfs-0.5.1
Occasional failures were observed in zconfig.sh because udev could be delayed for a few seconds. To handle this the wait_udev function has been added to wait for timeout seconds for an expected device before returning an error. By default callers currently use a 30 seconds timeout which should be much longer than udev ever needs but not so long to worry the test suite is hung.
Diffstat (limited to 'scripts/common.sh.in')
-rw-r--r--scripts/common.sh.in17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/common.sh.in b/scripts/common.sh.in
index 65e897d85..57508be9f 100644
--- a/scripts/common.sh.in
+++ b/scripts/common.sh.in
@@ -441,3 +441,20 @@ run_test() {
skip_one_test ${TEST_NUM} "${TEST_NAME}"
fi
}
+
+wait_udev() {
+ local DEVICE=$1
+ local DELAY=$2
+ local COUNT=0
+
+ while [ ! -e ${DEVICE} ]; do
+ if [ ${COUNT} -gt ${DELAY} ]; then
+ return 1
+ fi
+
+ let COUNT=${COUNT}+1
+ sleep 1
+ done
+
+ return 0
+}