summaryrefslogtreecommitdiff
path: root/tests/test_common.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_common.sh')
-rw-r--r--tests/test_common.sh18
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
+}