summaryrefslogtreecommitdiffstats
path: root/ctdb/tests/UNIT/tool/ctdb.setvar.001.sh
blob: e11ff9c82052b8a52e1c92de860ac581e9e999d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh

. "${TEST_SCRIPTS_DIR}/unit.sh"

define_test "get a variable, change its value"

setup_ctdbd <<EOF
NODEMAP
0       192.168.20.41   0x0     CURRENT RECMASTER
1       192.168.20.42   0x0
2       192.168.20.43   0x0
EOF

# Squash whitespace for predictable output
result_filter ()
{
	sed -e 's|[[:space:]][[:space:]]*| |g'
}

$CTDB -d $CTDB_DEBUGLEVEL listvars |
	tail -n 1 |
	{
		read variable equals value

		# Increment original variable
		newvalue=$((value + 1))
		ok_null
		simple_test "$variable" "$newvalue"

		ok "${variable} = ${newvalue}"
		simple_test_other getvar "$variable"

		# Increment uppercase variable
		v_upper=$(echo "$variable" | tr "a-z" "A-Z")
		newvalue=$((newvalue + 1))
		ok_null
		simple_test "$v_upper" "$newvalue"

		ok "${variable} = ${newvalue}"
		simple_test_other getvar "$variable"

		# Put back original, lowercase
		v_lower=$(echo "$variable" | tr "A-Z" "a-z")
		ok_null
		simple_test "$v_lower" "$value"

		ok "${variable} = ${value}"
		simple_test_other getvar "$variable"
	}