]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-tests: Allow wait_until() to be used in unit tests
authorMartin Schwenke <martin@meltin.net>
Wed, 25 Oct 2017 01:04:49 +0000 (12:04 +1100)
committerAmitay Isaacs <amitay@samba.org>
Thu, 26 Oct 2017 07:35:25 +0000 (09:35 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13097

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/scripts/common.sh
ctdb/tests/scripts/integration.bash

index 93db417e652ca5ab2578b7539324486f989bc5cf..099eee11d9c48e1fd520e2e1aebb3642ba113694 100644 (file)
@@ -47,3 +47,47 @@ esac
 if [ -d "$_test_bin_dir" ] ; then
        PATH="${_test_bin_dir}:$PATH"
 fi
+
+# Wait until either timeout expires or command succeeds.  The command
+# will be tried once per second, unless timeout has format T/I, where
+# I is the recheck interval.
+wait_until ()
+{
+    local timeout="$1" ; shift # "$@" is the command...
+
+    local interval=1
+    case "$timeout" in
+       */*)
+           interval="${timeout#*/}"
+           timeout="${timeout%/*}"
+    esac
+
+    local negate=false
+    if [ "$1" = "!" ] ; then
+       negate=true
+       shift
+    fi
+
+    echo -n "<${timeout}|"
+    local t=$timeout
+    while [ $t -gt 0 ] ; do
+       local rc=0
+       "$@" || rc=$?
+       if { ! $negate && [ $rc -eq 0 ] ; } || \
+           { $negate && [ $rc -ne 0 ] ; } ; then
+           echo "|$(($timeout - $t))|"
+           echo "OK"
+           return 0
+       fi
+       local i
+       for i in $(seq 1 $interval) ; do
+           echo -n .
+       done
+       t=$(($t - $interval))
+       sleep $interval
+    done
+
+    echo "*TIMEOUT*"
+
+    return 1
+}
index ea8a28072bc686d1f924387113c7d9cc8da34ee0..b627c3e11628ee69f4f0b5b7f8c01e137e722594 100644 (file)
@@ -259,50 +259,6 @@ delete_ip_from_all_nodes ()
 
 #######################################
 
-# Wait until either timeout expires or command succeeds.  The command
-# will be tried once per second, unless timeout has format T/I, where
-# I is the recheck interval.
-wait_until ()
-{
-    local timeout="$1" ; shift # "$@" is the command...
-
-    local interval=1
-    case "$timeout" in
-       */*)
-           interval="${timeout#*/}"
-           timeout="${timeout%/*}"
-    esac
-
-    local negate=false
-    if [ "$1" = "!" ] ; then
-       negate=true
-       shift
-    fi
-
-    echo -n "<${timeout}|"
-    local t=$timeout
-    while [ $t -gt 0 ] ; do
-       local rc=0
-       "$@" || rc=$?
-       if { ! $negate && [ $rc -eq 0 ] ; } || \
-           { $negate && [ $rc -ne 0 ] ; } ; then
-           echo "|$(($timeout - $t))|"
-           echo "OK"
-           return 0
-       fi
-       local i
-       for i in $(seq 1 $interval) ; do
-           echo -n .
-       done
-       t=$(($t - $interval))
-       sleep $interval
-    done
-
-    echo "*TIMEOUT*"
-
-    return 1
-}
-
 sleep_for ()
 {
     echo -n "=${1}|"