summaryrefslogtreecommitdiff
path: root/tests/test_common.sh
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2022-12-31 07:34:10 +0100
committerHelmut Grohne <helmut@subdivi.de>2022-12-31 07:37:06 +0100
commit45a8428a30c2aebeb5163913c8167b318ff65c81 (patch)
tree96c5acba0384e030908f35f400baa69dc562f961 /tests/test_common.sh
parentb7af04e9262142e953e487e75d91b610f1001ab4 (diff)
downloaddebvm-45a8428a30c2aebeb5163913c8167b318ff65c81.tar.gz
tests: rework common code
Turn try-ssh.sh script into a shell function library.
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
+}