ctdb-tests: Add "ctdb reloadnodes" unit tests
[Samba.git] / ctdb / tests / tool / scripts / local.sh
blob6cdf4c5089ffe4e3bdfb4cef3f31d6ff13553a5b
1 # Hey Emacs, this is a -*- shell-script -*- !!! :-)
3 if "$TEST_VERBOSE" ; then
4 debug () { echo "$@" ; }
5 else
6 debug () { : ; }
7 fi
9 define_test ()
11 _f=$(basename "$0" ".sh")
13 case "$_f" in
14 func.*)
15 _func="${_f#func.}"
16 _func="${_func%.*}" # Strip test number
17 test_prog="ctdb_functest ${_func}"
19 stubby.*)
20 _cmd="${_f#stubby.}"
21 _cmd="${_cmd%.*}" # Strip test number
22 test_prog="ctdb_stubtest ${_cmd}"
25 die "Unknown pattern for testcase \"$_f\""
26 esac
28 printf "%-28s - %s\n" "$_f" "$1"
31 setup_natgw ()
33 debug "Setting up NAT gateway"
35 natgw_config_dir="${TEST_VAR_DIR}/natgw_config"
36 mkdir -p "$natgw_config_dir"
38 # These will accumulate, 1 per test... but will be cleaned up at
39 # the end.
40 export CTDB_NATGW_NODES=$(mktemp --tmpdir="$natgw_config_dir")
42 cat >"$CTDB_NATGW_NODES"
45 setup_nodes ()
47 _pnn="$1"
49 _v="CTDB_NODES${_pnn:+_}${_pnn}"
50 debug "Setting up ${_v}"
52 # These will accumulate, 1 per test... but will be cleaned up at
53 # the end.
54 eval export "${_v}"=$(mktemp --tmpdir="$TEST_VAR_DIR")
56 eval _f="\${${_v}}"
57 cat >"$_f"
59 # You can't be too careful about what might be in the
60 # environment... so clean up when setting the default variable.
61 if [ -z "$_pnn" ] ; then
62 _n=$(wc -l "$CTDB_NODES" | awk '{ print $1 }')
63 for _i in $(seq 0 $_n) ; do
64 eval unset "CTDB_NODES_${_i}"
65 done
69 simple_test ()
71 : ${CTDB_DEBUGLEVEL:=3}
72 export CTDB_DEBUGLEVEL
74 _out=$($VALGRIND $test_prog "$@" 2>&1)
76 result_check