File tree 4 files changed +26
-7
lines changed
4 files changed +26
-7
lines changed Original file line number Diff line number Diff line change @@ -106,16 +106,27 @@ function write_clouds_yaml {
106
106
--os-project-name admin
107
107
}
108
108
109
- # Normalize config values to True or False
110
- # Accepts as False: 0 no No NO false False FALSE
111
- # Accepts as True: 1 yes Yes YES true True TRUE
112
- # VAR=$(trueorfalse default-value test-value)
109
+ # trueorfalse <True|False> <VAR>
110
+ #
111
+ # Normalize config-value provided in variable VAR to either "True" or
112
+ # "False". If VAR is unset (i.e. $VAR evaluates as empty), the value
113
+ # of the second argument will be used as the default value.
114
+ #
115
+ # Accepts as False: 0 no No NO false False FALSE
116
+ # Accepts as True: 1 yes Yes YES true True TRUE
117
+ #
118
+ # usage:
119
+ # VAL=$(trueorfalse False VAL)
113
120
function trueorfalse {
114
121
local xtrace
115
122
xtrace=$( set +o | grep xtrace)
116
123
set +o xtrace
117
124
118
125
local default=$1
126
+
127
+ if [ -z $2 ]; then
128
+ die $LINENO " variable to normalize required"
129
+ fi
119
130
local testval=${! 2:- }
120
131
121
132
case " $testval " in
Original file line number Diff line number Diff line change @@ -59,10 +59,10 @@ HEAT_BIN_DIR=$(get_python_exec_prefix)
59
59
# other default options
60
60
if [[ " $HEAT_STANDALONE " = " True" ]]; then
61
61
# for standalone, use defaults which require no service user
62
- HEAT_STACK_DOMAIN=` trueorfalse False $ HEAT_STACK_DOMAIN`
62
+ HEAT_STACK_DOMAIN=$( trueorfalse False HEAT_STACK_DOMAIN)
63
63
HEAT_DEFERRED_AUTH=${HEAT_DEFERRED_AUTH:- password}
64
64
else
65
- HEAT_STACK_DOMAIN=` trueorfalse True $ HEAT_STACK_DOMAIN`
65
+ HEAT_STACK_DOMAIN=$( trueorfalse True HEAT_STACK_DOMAIN)
66
66
HEAT_DEFERRED_AUTH=${HEAT_DEFERRED_AUTH:- trusts}
67
67
fi
68
68
Original file line number Diff line number Diff line change @@ -8,6 +8,14 @@ TOP=$(cd $(dirname "$0")/.. && pwd)
8
8
source $TOP /functions
9
9
source $TOP /tests/unittest.sh
10
10
11
+ # common mistake is to use $FOO instead of "FOO"; in that case we
12
+ # should die
13
+ bash -c " source $TOP /functions-common; VAR=\$ (trueorfalse False \$ FOO)" & > /dev/null
14
+ assert_equal 1 $? " missing test-value"
15
+
16
+ VAL=$( trueorfalse False MISSING_VARIABLE)
17
+ assert_equal " False" $VAL " blank test-value"
18
+
11
19
function test_trueorfalse {
12
20
local one=1
13
21
local captrue=True
Original file line number Diff line number Diff line change @@ -108,7 +108,7 @@ if is_fedora; then
108
108
sudo setenforce 0
109
109
fi
110
110
111
- FORCE_FIREWALLD=$( trueorfalse False $ FORCE_FIREWALLD)
111
+ FORCE_FIREWALLD=$( trueorfalse False FORCE_FIREWALLD)
112
112
if [[ $FORCE_FIREWALLD == " False" ]]; then
113
113
# On Fedora 20 firewalld interacts badly with libvirt and
114
114
# slows things down significantly (this issue was fixed in
You can’t perform that action at this time.
0 commit comments