diff options
| author | Martin Schwenke <martin@meltin.net> | 2013-06-18 15:07:26 +1000 |
|---|---|---|
| committer | Martin Schwenke <martin@meltin.net> | 2013-06-20 13:01:10 +1000 |
| commit | 3b2f7330cc333a55684753bf2c7b0fb8c8c72678 (patch) | |
| tree | 82eb8a487d67bd0bce964daf51dc84804ab68f01 /ctdb/tests/eventscripts/stubs | |
| parent | 4eed91b54a2c374a06c2275cbd8d4a50abbe9cdd (diff) | |
| download | samba-3b2f7330cc333a55684753bf2c7b0fb8c8c72678.tar.gz samba-3b2f7330cc333a55684753bf2c7b0fb8c8c72678.tar.xz samba-3b2f7330cc333a55684753bf2c7b0fb8c8c72678.zip | |
tests/eventscripts: New tests for 00.ctdb "init" event
These test dropping of IPs and TDB checking.
New stubs for date, tdbdump, tdbtool.
Enhance ip stub to handle "ip addr show to ..."
Tweak some infrastructure.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit aabf0bf41cb8ec344f06b69492fb6c2a27f9e900)
Diffstat (limited to 'ctdb/tests/eventscripts/stubs')
| -rwxr-xr-x | ctdb/tests/eventscripts/stubs/date | 7 | ||||
| -rwxr-xr-x | ctdb/tests/eventscripts/stubs/ip | 25 | ||||
| -rwxr-xr-x | ctdb/tests/eventscripts/stubs/tdbdump | 9 | ||||
| -rwxr-xr-x | ctdb/tests/eventscripts/stubs/tdbtool | 15 |
4 files changed, 50 insertions, 6 deletions
diff --git a/ctdb/tests/eventscripts/stubs/date b/ctdb/tests/eventscripts/stubs/date new file mode 100755 index 0000000000..2f470a8156 --- /dev/null +++ b/ctdb/tests/eventscripts/stubs/date @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ "$FAKE_DATE_OUTPUT" ] ; then + echo "$FAKE_DATE_OUTPUT" +else + /bin/date "$@" +fi diff --git a/ctdb/tests/eventscripts/stubs/ip b/ctdb/tests/eventscripts/stubs/ip index 709c379ddf..fb7e8b6c6d 100755 --- a/ctdb/tests/eventscripts/stubs/ip +++ b/ctdb/tests/eventscripts/stubs/ip @@ -87,6 +87,7 @@ ip_addr_show () dev="" primary=true secondary=true + _to="" while [ -n "$1" ] ; do case "$1" in dev) @@ -99,6 +100,9 @@ ip_addr_show () secondary) secondary=true ; primary=false ; shift ;; + to) + _to="$2" ; shift 2 + ;; *) # Assume an interface name dev="$1" ; shift 1 @@ -131,26 +135,35 @@ ${n}: ${dev}: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state EOF if $primary && [ -r "$pf" ] ; then read local <"$pf" - calc_brd - cat <<EOF + if [ -z "$_to" -o "${_to%/*}" = "${local%/*}" ] ; then + calc_brd + cat <<EOF inet ${local} brd ${brd} scope global ${dev} EOF + fi fi if $secondary && [ -r "$sf" ] ; then while read local ; do - calc_brd - cat <<EOF + if [ -z "$_to" -o "${_to%/*}" = "${local%/*}" ] ; then + calc_brd + cat <<EOF inet ${local} brd ${brd} scope global secondary ${dev} EOF + fi done <"$sf" fi - cat <<EOF + if [ -z "$_to" ] ; then + cat <<EOF valid_lft forever preferred_lft forever EOF + fi } n=1 for dev in $devices ; do - show_iface + if [ -z "$_to" ] || \ + grep -F "${_to%/*}/" "${FAKE_IP_STATE}/addresses/${dev}-"* >/dev/null ; then + show_iface + fi n=$(($n + 1)) done } diff --git a/ctdb/tests/eventscripts/stubs/tdbdump b/ctdb/tests/eventscripts/stubs/tdbdump new file mode 100755 index 0000000000..986c5c5549 --- /dev/null +++ b/ctdb/tests/eventscripts/stubs/tdbdump @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$FAKE_TDB_IS_OK" = "yes" ] ; then + echo "TDB good" + exit 0 +else + echo "TDB busted" + exit 1 +fi diff --git a/ctdb/tests/eventscripts/stubs/tdbtool b/ctdb/tests/eventscripts/stubs/tdbtool new file mode 100755 index 0000000000..c6c0a16604 --- /dev/null +++ b/ctdb/tests/eventscripts/stubs/tdbtool @@ -0,0 +1,15 @@ +#!/bin/sh + +if [ -z "$1" ] ; then + if [ "$FAKE_TDBTOOL_SUPPORTS_CHECK" = "yes" ] ; then + echo "check" + fi +fi + +if [ "$FAKE_TDB_IS_OK" = "yes" ] ; then + echo "Database integrity is OK" +else + echo "Database is busted" +fi + +exit 0 |
