ClickHouse/tests/ci/utils.lib

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
574 B
Plaintext
Raw Normal View History

2023-06-30 14:41:27 +00:00
#!/bin/bash
function run_with_retry()
{
if [[ $- =~ e ]]; then
set_e=true
else
set_e=false
fi
2023-06-30 14:41:27 +00:00
set +e
local total_retries="$1"
shift
local retry=0
until [ "$retry" -ge "$total_retries" ]
do
if "$@"; then
if $set_e; then
set -e
fi
2023-06-30 14:41:27 +00:00
return
else
retry=$((retry + 1))
sleep 5
fi
done
echo "Command '$*' failed after $total_retries retries, exiting"
exit 1
2023-07-02 09:52:50 +00:00
}
function fn_exists() {
declare -F "$1" > /dev/null;
}