diff options
Diffstat (limited to '.travis/utils.sh')
-rw-r--r-- | .travis/utils.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/.travis/utils.sh b/.travis/utils.sh new file mode 100644 index 000000000..d084a7aef --- /dev/null +++ b/.travis/utils.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Prevent travis from timing out after 10 minutes of no output +tick() { + (while true; do sleep 300; echo; done) & + local PID=$! + disown + + "$@" + local RET=$? + + kill $PID + return $RET +} +export -f tick + +retry() { + local tries=$1 + shift + + local i=0 + while [ "$i" -lt "$tries" ]; do + "$@" && return 0 + sleep $((2**((i++)))) + done + + return 1 +} +export -f retry |