1 # Hey Emacs, this is a -*- shell-script -*- !!! :-)
3 PATH="${PATH}:${CTDB_SCRIPTS_TOOLS_HELPER_DIR}"
4 PATH="${PATH}:${CTDB_SCRIPTS_HELPER_BINDIR}"
6 setup_ctdb_base "$CTDB_TEST_TMP_DIR" "ctdb-etc" \
9 if "$TEST_VERBOSE" ; then
10 debug () { echo "$@" ; }
15 ctdbd_socket=$(ctdb-path socket "ctdbd")
16 ctdbd_pidfile=$(ctdb-path pidfile "ctdbd")
17 ctdbd_dbdir=$(ctdb-path vardir append "db")
21 _f=$(basename "$0" ".sh")
26 _cmd="${_cmd%.*}" # Strip test number
28 export CTDB_DEBUGLEVEL=NOTICE
29 if [ -z "$FAKE_CTDBD_DEBUGLEVEL" ] ; then
30 FAKE_CTDBD_DEBUGLEVEL="ERR"
32 export FAKE_CTDBD_DEBUGLEVEL
36 die "Unknown pattern for testcase \"$_f\""
39 printf "%-28s - %s\n" "$_f" "$1"
44 debug "Cleaning up fake ctdbd"
46 pid=$(cat "$ctdbd_pidfile" 2>/dev/null || echo)
47 if [ -n "$pid" ] ; then
49 rm -f "$ctdbd_pidfile"
57 echo "Setting up fake ctdbd"
59 mkdir -p "$ctdbd_dbdir"
60 $VALGRIND fake_ctdbd -d "$FAKE_CTDBD_DEBUGLEVEL" \
61 -s "$ctdbd_socket" -p "$ctdbd_pidfile" \
63 # Wait till fake_ctdbd is running
64 wait_until 10 test -S "$ctdbd_socket" || \
65 die "fake_ctdbd failed to start"
67 test_cleanup cleanup_ctdbd
77 debug "Setting up NAT gateway"
79 export CTDB_NATGW_HELPER="${CTDB_SCRIPTS_TOOLS_HELPER_DIR}/ctdb_natgw"
80 export CTDB_NATGW_NODES="${CTDB_BASE}/natgw_nodes"
82 cat >"$CTDB_NATGW_NODES"
87 debug "Setting up LVS"
89 export CTDB_LVS_HELPER="${CTDB_SCRIPTS_TOOLS_HELPER_DIR}/ctdb_lvs"
90 export CTDB_LVS_NODES="${CTDB_BASE}/lvs_nodes"
92 cat >"$CTDB_LVS_NODES"
99 _f="${CTDB_BASE}/nodes${_pnn:+.}${_pnn}"
106 (unit_test $CTDB -d $CTDB_DEBUGLEVEL "$@")
108 [ $status -eq 0 ] || exit $status
113 simple_test_other $test_args "$@"