diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2022-09-26 20:43:36 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-09-29 12:20:44 +0200 |
commit | 05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3 (patch) | |
tree | 5b3b95b60b9b34f4d9d12b572ddec211d8cdba69 | |
parent | 8978f6552b8cfae28b9d842db99b01aefb465812 (diff) | |
download | passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar.gz passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar.bz2 passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar.lz passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar.xz passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.tar.zst passt-05a2c7ae3c7bb7bb67ed0294efd9f3151da08aa3.zip |
test: Add wait_for() shell helper
Add a shell helper function to wait for some command to succeed - typically
a test for something to be done by a background process. Use it in the
context code which waits for the guest to respond to ssh-over-vsock
connections.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r-- | test/lib/context | 4 | ||||
-rwxr-xr-x | test/lib/util | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/test/lib/context b/test/lib/context index 43b00dd..ee6b683 100644 --- a/test/lib/context +++ b/test/lib/context @@ -63,9 +63,7 @@ EOF echo "ssh -F ${__ssh} ${__name}" > "${__enter}" # Wait for the guest to be booted and accepting connections - while ! ssh -F "${__ssh}" "${__name}" :; do - sleep 0.1 - done + wait_for ssh -F "${__ssh}" "${__name}" : } # context_teardown() - Remove a context (leave log files intact) diff --git a/test/lib/util b/test/lib/util index dee6c8d..c1b3262 100755 --- a/test/lib/util +++ b/test/lib/util @@ -123,3 +123,11 @@ get_info_cols() { __j=$((__j + 1)) done } + +# wait_for() - Retry a command until it succeeds +# $@: Command to run +wait_for() { + while ! "$@"; do + sleep 0.1 || sleep 1 + done +} |