. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'true'"
+define_test "callout succeeds"
setup
-setup_script_options "service" "60.nfs" <<EOF
-CTDB_NFS_CALLOUT="true"
-EOF
+setup_nfs_callout
ok_null
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes releaseip-pre to fail"
+define_test "callout causes releaseip-pre to fail"
setup
-setup_script_options "service" "60.nfs" <<EOF
-CTDB_NFS_CALLOUT="echo releaseip-pre ; false"
-EOF
+setup_nfs_callout "releaseip-pre"
required_result 1 "releaseip-pre"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'true'"
+define_test "callout succeeds"
setup
-setup_script_options "service" "60.nfs" <<EOF
-CTDB_NFS_CALLOUT="true"
-EOF
+setup_nfs_callout
ok_null
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes takeip-pre to fail"
+define_test "callout causes takeip-pre to fail"
setup
-setup_script_options "service" "60.nfs" <<EOF
-CTDB_NFS_CALLOUT="echo takeip-pre ; false"
-EOF
+setup_nfs_callout "takeip-pre"
required_result 1 "takeip-pre"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes monitor-pre to fail"
+define_test "callout causes monitor-pre to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo monitor-pre ; false"
-EOF
+setup_nfs_callout "monitor-pre"
required_result 1 "monitor-pre"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes monitor-post to fail"
+define_test "callout causes monitor-post to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo monitor-post ; false"
-EOF
+setup_nfs_callout "monitor-post"
required_result 1 "monitor-post"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes releaseip to fail"
+define_test "callout causes releaseip to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo releaseip ; false"
-EOF
+setup_nfs_callout "releaseip"
required_result 1 "releaseip"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes shutdown to fail"
+define_test "callout causes shutdown to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo shutdown ; false"
-EOF
+setup_nfs_callout "shutdown"
required_result 1 "shutdown"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes startup to fail"
+define_test "callout causes startup to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo startup ; false"
-EOF
+setup_nfs_callout "startup"
required_result 1 "startup"
simple_test
. "${TEST_SCRIPTS_DIR}/unit.sh"
-define_test "callout is 'false', causes takeip to fail"
+define_test "callout causes takeip to fail"
setup
-setup_script_options <<EOF
-CTDB_NFS_CALLOUT="echo takeip ; false"
-EOF
+setup_nfs_callout "takeip"
required_result 1 "takeip"
simple_test
done
}
+setup_nfs_callout()
+{
+ export CTDB_NFS_CALLOUT="${CTDB_HELPER_BINDIR}/nfs-fake-callout"
+ export NFS_FAKE_CALLOUT_MAGIC="$1"
+}
+
program_stack_trace ()
{
_prog="$1"
--- /dev/null
+#!/bin/sh
+
+case "$1" in
+register)
+ echo "ALL"
+ exit
+ ;;
+esac
+
+if [ "$NFS_FAKE_CALLOUT_MAGIC" = "$1" ]; then
+ echo "$1"
+ exit 1
+fi
+
+exit 0