summaryrefslogtreecommitdiffstats
path: root/ctdb/tests/eventscripts/stubs
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2013-06-18 15:07:26 +1000
committerMartin Schwenke <martin@meltin.net>2013-06-20 13:01:10 +1000
commit3b2f7330cc333a55684753bf2c7b0fb8c8c72678 (patch)
tree82eb8a487d67bd0bce964daf51dc84804ab68f01 /ctdb/tests/eventscripts/stubs
parent4eed91b54a2c374a06c2275cbd8d4a50abbe9cdd (diff)
downloadsamba-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-xctdb/tests/eventscripts/stubs/date7
-rwxr-xr-xctdb/tests/eventscripts/stubs/ip25
-rwxr-xr-xctdb/tests/eventscripts/stubs/tdbdump9
-rwxr-xr-xctdb/tests/eventscripts/stubs/tdbtool15
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