## add the retry function to bats # Retry a command $1 times until it succeeds. Wait $2 seconds between retries. function retry { local attempts=$1 shift local delay=$1 shift local i for ((i=0; i < attempts; i++)); do run "$@" if [ "$status" -eq 0 ]; then echo "$output" return 0 fi sleep $delay done echo "Command \"$@\" failed $attempts times. Status: $status. Output: $output" >&2 false }