summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2011-08-31 17:27:05 +1000
committerMartin Schwenke <martin@meltin.net>2011-08-31 17:27:05 +1000
commit0048849bd2c2c561e88f3d2898342f984ffb6ced (patch)
treef7f5a41f1bb29fd6d6a158e6f3ef12ef1fdfa656
parent54a67a8e1cf33d11b146ddaab12831cae642769c (diff)
downloadsamba-0048849bd2c2c561e88f3d2898342f984ffb6ced.tar.gz
samba-0048849bd2c2c561e88f3d2898342f984ffb6ced.tar.xz
samba-0048849bd2c2c561e88f3d2898342f984ffb6ced.zip
Tests - eventscripts - allow "ctdb scriptstatus" output to be primed
Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit f527ffb55b514b5cb4df3471a0e17ab71307e8a1)
-rw-r--r--ctdb/tests/eventscripts/common.sh24
-rwxr-xr-xctdb/tests/eventscripts/stubs/ctdb23
2 files changed, 32 insertions, 15 deletions
diff --git a/ctdb/tests/eventscripts/common.sh b/ctdb/tests/eventscripts/common.sh
index 9a2859f397..9003b396c2 100644
--- a/ctdb/tests/eventscripts/common.sh
+++ b/ctdb/tests/eventscripts/common.sh
@@ -238,6 +238,10 @@ setup_ctdb ()
export FAKE_CTDB_NODES_DOWN="$EVENTSCRIPTS_TESTS_VAR_DIR/nodes-down"
mkdir -p "$FAKE_CTDB_NODES_DOWN"
rm -f "$FAKE_CTDB_NODES_DOWN"/*
+
+ export FAKE_CTDB_SCRIPTSTATUS="$EVENTSCRIPTS_TESTS_VAR_DIR/scriptstatus"
+ mkdir -p "$FAKE_CTDB_SCRIPTSTATUS"
+ rm -f "$FAKE_CTDB_SCRIPTSTATUS"/*
}
@@ -290,13 +294,19 @@ ctdb_not_implemented ()
{
export CTDB_NOT_IMPLEMENTED="$1"
ctdb_not_implemented="\
-DEBUG: ctdb: command \"$1\" not implemented
-DEBUG: Usage: ctdb [-Y] cmd
-DEBUG:
-DEBUG: A fake CTDB stub that prints items depending on the variables
-DEBUG: FAKE_CTDB_PNN (default 0) depending on command-line options.
-DEBUG:
-DEBUG: Note that -Y is ignored."
+DEBUG: ctdb: command \"$1\" not implemented in stub"
+}
+
+ctdb_fake_scriptstatus ()
+{
+ _code="$1"
+ _status="$2"
+ _err_out="$3"
+
+ _d1=$(date '+%s.%N')
+ _d2=$(date '+%s.%N')
+
+ echo "$_code $_status $_err_out" >"$FAKE_CTDB_SCRIPTSTATUS/$script"
}
######################################################################
diff --git a/ctdb/tests/eventscripts/stubs/ctdb b/ctdb/tests/eventscripts/stubs/ctdb
index 5b18473ec1..155f518ddc 100755
--- a/ctdb/tests/eventscripts/stubs/ctdb
+++ b/ctdb/tests/eventscripts/stubs/ctdb
@@ -201,18 +201,25 @@ EOF
$machine_readable || not_implemented "$1, without -Y"
[ "$2" != "all" ] || not_implemented "scriptstatus all"
# For now just assume everything is good.
- _d1=$(date '+%s.%N')
- _d2=$(date '+%s.%N')
echo ":Type:Name:Code:Status:Start:End:Error Output...:"
for _i in "$CTDB_BASE/events.d/"*.* ; do
+ _d1=$(date '+%s.%N')
_b="${_i##*/}" # basename
- _status="OK"
- _code="0"
- if [ ! -x "$_i" ] ; then
- _status="DISABLED"
- _code="-8"
+
+ _f="$FAKE_CTDB_SCRIPTSTATUS/$_b"
+ if [ -r "$_f" ] ; then
+ read _code _status _err_out <"$_f"
+ else
+ _code="0"
+ _status="OK"
+ if [ ! -x "$_i" ] ; then
+ _status="DISABLED"
+ _code="-8"
+ fi
+ _err_out=""
fi
- echo ":${2:-monitor}:${_b}:${_code}:${_status}:${_d1}:${_d2}::"
+ _d2=$(date '+%s.%N')
+ echo ":${2:-monitor}:${_b}:${_code}:${_status}:${_d1}:${_d2}:${_err_out}:"
done
;;
*)