diff options
author | Martin Schwenke <martin@meltin.net> | 2011-08-31 17:27:05 +1000 |
---|---|---|
committer | Martin Schwenke <martin@meltin.net> | 2011-08-31 17:27:05 +1000 |
commit | 0048849bd2c2c561e88f3d2898342f984ffb6ced (patch) | |
tree | f7f5a41f1bb29fd6d6a158e6f3ef12ef1fdfa656 | |
parent | 54a67a8e1cf33d11b146ddaab12831cae642769c (diff) | |
download | samba-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.sh | 24 | ||||
-rwxr-xr-x | ctdb/tests/eventscripts/stubs/ctdb | 23 |
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 ;; *) |