#!/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