Tests - eventscripts - add some multievent tests
authorMartin Schwenke <martin@meltin.net>
Wed, 31 Aug 2011 07:29:14 +0000 (17:29 +1000)
committerMartin Schwenke <martin@meltin.net>
Wed, 31 Aug 2011 07:29:14 +0000 (17:29 +1000)
Running "./run_tests -s simple/* multievent/*" results in a stupid
summary.  Will need to work on that...

Signed-off-by: Martin Schwenke <martin@meltin.net>
tests/eventscripts/multievent/10.interface.001.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.001.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.002.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.003.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.004.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.005.sh [new file with mode: 0755]
tests/eventscripts/multievent/60.nfs.006.sh [new file with mode: 0755]

diff --git a/tests/eventscripts/multievent/10.interface.001.sh b/tests/eventscripts/multievent/10.interface.001.sh
new file mode 100755 (executable)
index 0000000..5ef254c
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, removeip"
+
+setup_ctdb
+
+public_address=$(ctdb_get_1_public_address)
+
+ok_null
+
+simple_test_event "takeip" $public_address
+simple_test_event "releaseip" $public_address
diff --git a/tests/eventscripts/multievent/60.nfs.001.sh b/tests/eventscripts/multievent/60.nfs.001.sh
new file mode 100755 (executable)
index 0000000..a6608db
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, ipreallocated -> reconfigure"
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+ok_null
+
+simple_test_event "takeip" $public_address
+
+ok <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+EOF
+
+simple_test_event "ipreallocated"
diff --git a/tests/eventscripts/multievent/60.nfs.002.sh b/tests/eventscripts/multievent/60.nfs.002.sh
new file mode 100755 (executable)
index 0000000..93f645a
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, monitor -> reconfigure"
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+ok_null
+
+simple_test_event "takeip" $public_address
+
+# This currently assumes that ctdb scriptstatus will always return a
+# good status (when replaying).  That should change and we will need
+# to split this into 2 tests.
+ok <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+Replaying previous status for this script due to reconfigure...
+EOF
+
+simple_test_event "monitor"
diff --git a/tests/eventscripts/multievent/60.nfs.003.sh b/tests/eventscripts/multievent/60.nfs.003.sh
new file mode 100755 (executable)
index 0000000..929eaf2
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, monitor -> reconfigure, replay error"
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+err="foo: bar error occurred"
+
+ok_null
+
+simple_test_event "takeip" $public_address
+
+ctdb_fake_scriptstatus 1 "ERROR" "$err"
+
+required_result 1 <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+Replaying previous status for this script due to reconfigure...
+$err
+EOF
+
+simple_test_event "monitor"
diff --git a/tests/eventscripts/multievent/60.nfs.004.sh b/tests/eventscripts/multievent/60.nfs.004.sh
new file mode 100755 (executable)
index 0000000..addbf44
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, monitor -> reconfigure, replay timedout"
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+err="waiting, waiting..."
+
+ok_null
+
+simple_test_event "takeip" $public_address
+
+ctdb_fake_scriptstatus -62 "TIMEDOUT" "$err"
+
+required_result 1 <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+Replaying previous status for this script due to reconfigure...
+[Replay of TIMEDOUT scriptstatus - note incorrect return code.] $err
+EOF
+
+simple_test_event "monitor"
diff --git a/tests/eventscripts/multievent/60.nfs.005.sh b/tests/eventscripts/multievent/60.nfs.005.sh
new file mode 100755 (executable)
index 0000000..9e65201
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "takeip, monitor -> reconfigure, replay disabled"
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+err=""
+
+ok_null
+
+simple_test_event "takeip" $public_address
+
+ctdb_fake_scriptstatus -8 "DISABLED" "$err"
+
+ok <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+Replaying previous status for this script due to reconfigure...
+[Replay of DISABLED scriptstatus - note incorrect return code.] $err
+EOF
+
+simple_test_event "monitor"
diff --git a/tests/eventscripts/multievent/60.nfs.006.sh b/tests/eventscripts/multievent/60.nfs.006.sh
new file mode 100755 (executable)
index 0000000..35f8b83
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+. "${EVENTSCRIPTS_TESTS_DIR}/common.sh"
+
+define_test "reconfigure (synthetic), twice"
+# This checks that the lock is released...
+
+setup_nfs
+
+public_address=$(ctdb_get_1_public_address)
+
+err=""
+
+ok <<EOF
+Reconfiguring service "nfs"...
+Starting nfslock: OK
+Starting nfs: OK
+EOF
+
+simple_test_event "reconfigure"
+simple_test_event "reconfigure"