+
+run_one_test() {
+ local TEST_NUM=$1
+ local TEST_NAME=$2
+
+ printf "%-4d %-36s " ${TEST_NUM} "${TEST_NAME}"
+ test_${TEST_NUM}
+}
+
+skip_one_test() {
+ local TEST_NUM=$1
+ local TEST_NAME=$2
+
+ printf "%-4d %-36s " ${TEST_NUM} "${TEST_NAME}"
+ skip
+}
+
+run_test() {
+ local TEST_NUM=$1
+ local TEST_NAME=$2
+
+ for i in ${TESTS_SKIP[@]}; do
+ if [[ $i == ${TEST_NUM} ]] ; then
+ skip_one_test ${TEST_NUM} "${TEST_NAME}"
+ return 0
+ fi
+ done
+
+ if [ "${TESTS_RUN[0]}" = "*" ]; then
+ run_one_test ${TEST_NUM} "${TEST_NAME}"
+ else
+ for i in ${TESTS_RUN[@]}; do
+ if [[ $i == ${TEST_NUM} ]] ; then
+ run_one_test ${TEST_NUM} "${TEST_NAME}"
+ return 0
+ fi
+ done
+
+ 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
+}