ctdb-tests: Move ctdb stub code from case statement to functions
authorMartin Schwenke <martin@meltin.net>
Wed, 21 Mar 2018 03:50:53 +0000 (14:50 +1100)
committerAmitay Isaacs <amitay@samba.org>
Wed, 28 Mar 2018 00:57:16 +0000 (02:57 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/tests/eventscripts/stubs/ctdb

index e8c0b68087e5929db566491883f1feadb424b3e0..7f466c0980abd62426fbf105358048131f47cd3e 100755 (executable)
@@ -406,57 +406,83 @@ EOF
 
 ######################################################################
 
-case "$1" in
-    gettickles) shift ; ctdb_gettickles "$@" ;;
-    addtickle) shift ; ctdb_addtickle "$@" ;;
-    deltickle) shift ; ctdb_deltickle "$@" ;;
-    pstore)  ctdb_pstore  "$@" ;;
-    pdelete) ctdb_pdelete "$@" ;;
-    pfetch)  ctdb_pfetch  "$@" ;;
-    ptrans)  ctdb_ptrans  "$@" ;;
-    catdb)   ctdb_catdb   "$@" ;;
-    ifaces)
+ctdb_ifaces()
+{
+       _f="${CTDB_BASE}/public_addresses"
+
+       if [ ! -f "$_f" ] ; then
+               die "Public addresses file \"${_f}\" not found"
+       fi
+
        # Assume -Y.
        echo "|Name|LinkStatus|References|"
-       _f="${CTDB_BASE}/public_addresses"
-       if [ -r "$_f" ] ; then
-           while read _ip _iface ; do
+       while read _ip _iface ; do
                case "_$ip" in
-                   \#*) : ;;
-                   *)
+               \#*) : ;;
+               *)
                        _status=1
                        # For now assume _iface contains only 1.
                        if [ -f "{FAKE_CTDB_IFACES_DOWN}/${_iface}" ] ; then
-                           _status=0
+                               _status=0
                        fi
                        # Nobody looks at references
                        echo "|${_iface}|${_status}|0|"
                esac
-           done <"$_f" |
-           sort -u
-       fi
-       ;;
-    setifacelink)
+       done <"$_f" |
+       sort -u
+}
+
+ctdb_setifacelink ()
+{
+       _iface="$1"
+       _state="$2"
+
        # Existence of file means CTDB thinks interface is down.
-       _f="${FAKE_CTDB_IFACES_DOWN}/$2"
-       case "$3" in
-           up)   rm -f "$_f" ;;
-           down) touch "$_f" ;;
-           *)
-               echo "ctdb setifacelink: unsupported interface status $3"
-               exit 1
+       _f="${FAKE_CTDB_IFACES_DOWN}/${_iface}"
+
+       case "$_state" in
+       up)   rm -f "$_f" ;;
+       down) touch "$_f" ;;
+       *) die "ctdb setifacelink: unsupported interface status ${_state}" ;;
        esac
-       ;;
-    checktcpport)
+}
+
+######################################################################
+
+ctdb_checktcpport ()
+{
+       _port="$1"
+
        for _i in $FAKE_TCP_LISTEN ; do
-           if [ "$2" = "${_i##*:}" ] ; then
-               exit 98
-           fi
+               if [ "$_port" = "${_i##*:}" ] ; then
+                       exit 98
+               fi
        done
 
        exit 0
-       ;;
-    gratarp) : ;;  # Do nothing for now
+}
+
+ctdb_gratarp ()
+{
+       # Do nothing for now
+       :
+}
+
+######################################################################
+
+case "$1" in
+    gettickles) shift ; ctdb_gettickles "$@" ;;
+    addtickle) shift ; ctdb_addtickle "$@" ;;
+    deltickle) shift ; ctdb_deltickle "$@" ;;
+    pstore)  ctdb_pstore  "$@" ;;
+    pdelete) ctdb_pdelete "$@" ;;
+    pfetch)  ctdb_pfetch  "$@" ;;
+    ptrans)  ctdb_ptrans  "$@" ;;
+    catdb)   ctdb_catdb   "$@" ;;
+    ifaces) shift ; ctdb_ifaces "$@" ;;
+    setifacelink) shift ; ctdb_setifacelink "$@" ;;
+    checktcpport) shift ; ctdb_checktcpport "$@" ;;
+    gratarp) shift ; ctdb_gratarp "$@" ;;
     ip)            ctdb_ip "$@" ;;
     pnn)          ctdb_pnn ;;
     enable)        ctdb_enable "$@";;