On Fri, 23 Sep 2022 17:20:27 +1000
David Gibson <david(a)gibson.dropbear.id.au> wrote:
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(a)gibson.dropbear.id.au>
---
test/lib/context | 4 +---
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..72023ab 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
While at it, could we replace this with sleep 0.1 || sleep 1, just in
case we happen to run in an environment not supporting sleep 0.1?
Good idea, I'll respin with that change.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!