tests/test_truefalse.sh
9b0ebc44
 #!/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
 
e82bac04
 # 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"
 
98f59aaf
 function test_trueorfalse {
9b0ebc44
     local one=1
     local captrue=True
     local lowtrue=true
98f59aaf
     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
165afa23
             local msg="trueorfalse($default $name)"
             assert_equal "True" $(trueorfalse $default $name) "$msg"
98f59aaf
         done
     done
 
9b0ebc44
     local zero=0
     local capfalse=False
     local lowfalse=false
98f59aaf
     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
165afa23
             local msg="trueorfalse($default $name)"
             assert_equal "False" $(trueorfalse $default $name) "$msg"
9b0ebc44
         done
     done
 }
 
98f59aaf
 test_trueorfalse
9b0ebc44
 
 report_results