devstack/tests/test_truefalse.sh

54 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Tests for DevStack meta-config functions
TOP=$(cd $(dirname "$0")/.. && pwd)
# Import common functions
source $TOP/functions
source $TOP/tests/unittest.sh
# common mistake is to use $FOO instead of "FOO"; in that case we
# should die
bash -c "source $TOP/functions-common; VAR=\$(trueorfalse False \$FOO)" &> /dev/null
assert_equal 1 $? "missing test-value"
VAL=$(trueorfalse False MISSING_VARIABLE)
assert_equal "False" $VAL "blank test-value"
function test_trueorfalse {
local one=1
local captrue=True
local lowtrue=true
local uppertrue=TRUE
local capyes=Yes
local lowyes=yes
local upperyes=YES
for default in True False; do
for name in one captrue lowtrue uppertrue capyes lowyes upperyes; do
local msg="trueorfalse($default $name)"
assert_equal "True" $(trueorfalse $default $name) "$msg"
done
done
local zero=0
local capfalse=False
local lowfalse=false
local upperfalse=FALSE
local capno=No
local lowno=no
local upperno=NO
for default in True False; do
for name in zero capfalse lowfalse upperfalse capno lowno upperno; do
local msg="trueorfalse($default $name)"
assert_equal "False" $(trueorfalse $default $name) "$msg"
done
done
}
test_trueorfalse
report_results