summaryrefslogtreecommitdiffstats
path: root/.travis/utils.sh
blob: 58ce47f0aedf6a8158f8c55d3dae57c940453e01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/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
}

retry() {
	local tries=$1
	shift

	local i=0
	while [ "$i" -lt "$tries" ]; do
		"$@" && return 0
		sleep $((2**((i++))))
	done

	return 1
}