diff options
Diffstat (limited to 'tests/test_common.sh')
-rw-r--r-- | tests/test_common.sh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/test_common.sh b/tests/test_common.sh new file mode 100644 index 0000000..f42a26a --- /dev/null +++ b/tests/test_common.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +run_ssh() { + test -n "${SSH_KEYPATH:-}" && set -- -i "$SSH_KEYPATH" "$@" + test -n "${SSH_PORT:-}" && set -- -p "$SSH_PORT" "$@" + ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l root "$@" +} + +wait_ssh() { + wait_ssh_timeout=5 + wait_ssh_ts=$(sleepenh 0 || [ $? -eq 1 ]) + for _ in $(seq 30); do + run_ssh -o ConnectTimeout="$wait_ssh_timeout" "$@" echo success && return 0 + wait_ssh_ts=$(sleepenh "$wait_ssh_ts" "$wait_ssh_timeout" || [ $? -eq 1 ]) + done + echo "timeout reached" >&2 + return 1 +} |