summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/tests/scripts/integration.bash18
1 files changed, 12 insertions, 6 deletions
diff --git a/ctdb/tests/scripts/integration.bash b/ctdb/tests/scripts/integration.bash
index 60323e33a97..d8411edc588 100644
--- a/ctdb/tests/scripts/integration.bash
+++ b/ctdb/tests/scripts/integration.bash
@@ -314,7 +314,7 @@ node_has_status ()
local pnn="$1"
local status="$2"
- local bits rpat
+ local bits
case "$status" in
unhealthy) bits="?|?|?|1|*" ;;
healthy) bits="?|?|?|0|*" ;;
@@ -326,8 +326,16 @@ node_has_status ()
enabled) bits="?|?|0|*" ;;
stopped) bits="?|?|?|?|1|*" ;;
notstopped) bits="?|?|?|?|0|*" ;;
- recovered) rpat='^Recovery mode:RECOVERY \(1\)$' ;;
- notlmaster) rpat="^hash:.* lmaster:${pnn}\$" ;;
+ recovered)
+ ! $CTDB status -n "$pnn" | \
+ grep -Eq '^Recovery mode:RECOVERY \(1\)$'
+ return
+ ;;
+ notlmaster)
+ ! $CTDB status -n "$pnn" | \
+ grep -Eq "^hash:.* lmaster:${pnn}\$"
+ return
+ ;;
*)
echo "node_has_status: unknown status \"$status\""
return 1
@@ -350,10 +358,8 @@ node_has_status ()
done
return 1
} <<<"$out" # Yay bash!
- elif [ -n "$rpat" ] ; then
- ! $CTDB status -n "$pnn" | egrep -q "$rpat"
else
- echo 'node_has_status: unknown mode, neither $bits nor $rpat is set'
+ echo 'node_has_status: unknown mode, $bits not set'
return 1
fi
}