From 3b2f7330cc333a55684753bf2c7b0fb8c8c72678 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Tue, 18 Jun 2013 15:07:26 +1000 Subject: [PATCH] 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 Pair-programmed-with: Amitay Isaacs (This used to be ctdb commit aabf0bf41cb8ec344f06b69492fb6c2a27f9e900) --- ctdb/tests/eventscripts/00.ctdb.init.001.sh | 13 +++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.002.sh | 17 +++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.003.sh | 16 ++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.004.sh | 22 ++++++++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.005.sh | 20 ++++++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.006.sh | 25 +++++++++++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.007.sh | 16 ++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.008.sh | 19 +++++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.021.sh | 11 +++++++++++ ctdb/tests/eventscripts/00.ctdb.init.022.sh | 18 ++++++++++++++++++ ctdb/tests/eventscripts/00.ctdb.init.023.sh | 23 +++++++++++++++++++++++ ctdb/tests/eventscripts/scripts/local.sh | 8 ++++++++ ctdb/tests/eventscripts/stubs/date | 7 +++++++ ctdb/tests/eventscripts/stubs/ip | 25 +++++++++++++++++++------ ctdb/tests/eventscripts/stubs/tdbdump | 9 +++++++++ ctdb/tests/eventscripts/stubs/tdbtool | 15 +++++++++++++++ 16 files changed, 258 insertions(+), 6 deletions(-) create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.001.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.002.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.003.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.004.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.005.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.006.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.007.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.008.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.021.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.022.sh create mode 100755 ctdb/tests/eventscripts/00.ctdb.init.023.sh create mode 100755 ctdb/tests/eventscripts/stubs/date create mode 100755 ctdb/tests/eventscripts/stubs/tdbdump create mode 100755 ctdb/tests/eventscripts/stubs/tdbtool diff --git a/ctdb/tests/eventscripts/00.ctdb.init.001.sh b/ctdb/tests/eventscripts/00.ctdb.init.001.sh new file mode 100755 index 00000000000..320025ac282 --- /dev/null +++ b/ctdb/tests/eventscripts/00.ctdb.init.001.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +. "${TEST_SCRIPTS_DIR}/unit.sh" + +define_test "TDB check, tdbtool supports check" + +setup_ctdb + +FAKE_TDBTOOL_SUPPORTS_CHECK="yes" + +ok_null + +simple_test diff --git a/ctdb/tests/eventscripts/00.ctdb.init.002.sh b/ctdb/tests/eventscripts/00.ctdb.init.002.sh new file mode 100755 index 00000000000..2777cc5eb4c --- /dev/null +++ b/ctdb/tests/eventscripts/00.ctdb.init.002.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +. "${TEST_SCRIPTS_DIR}/unit.sh" + +define_test "TDB check, tdbtool does no support check" + +setup_ctdb + +FAKE_TDBTOOL_SUPPORTS_CHECK="no" + +ok </dev/null || true rmdir "$FAKE_IP_STATE"/* 2>/dev/null || true + + + export CTDB_DBDIR="${EVENTSCRIPTS_TESTS_VAR_DIR}/db" + mkdir -p "${CTDB_DBDIR}/persistent" + + export FAKE_TDBTOOL_SUPPORTS_CHECK="yes" + export FAKE_TDB_IS_OK + export FAKE_DATE_OUTPUT } tcp_port_down () diff --git a/ctdb/tests/eventscripts/stubs/date b/ctdb/tests/eventscripts/stubs/date new file mode 100755 index 00000000000..2f470a8156f --- /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 709c379ddff..fb7e8b6c6db 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}: mtu 1500 qdisc pfifo_fast state EOF if $primary && [ -r "$pf" ] ; then read local <"$pf" - calc_brd - cat </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 00000000000..986c5c55499 --- /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 00000000000..c6c0a166044 --- /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 -- 2.11.4.GIT