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