| Ian Wienand | 9b0ebc4 | 2015-04-17 13:06:47 +1000 | [diff] [blame] | 1 | #!/usr/bin/env bash | 
 | 2 |  | 
 | 3 | # Tests for DevStack meta-config functions | 
 | 4 |  | 
 | 5 | TOP=$(cd $(dirname "$0")/.. && pwd) | 
 | 6 |  | 
 | 7 | # Import common functions | 
 | 8 | source $TOP/functions | 
 | 9 | source $TOP/tests/unittest.sh | 
 | 10 |  | 
| Ian Wienand | e82bac0 | 2015-08-25 14:29:08 +1000 | [diff] [blame] | 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 |  | 
| Mahito OGURA | 98f59aa | 2015-05-11 18:02:34 +0900 | [diff] [blame] | 19 | function test_trueorfalse { | 
| Ian Wienand | 9b0ebc4 | 2015-04-17 13:06:47 +1000 | [diff] [blame] | 20 |     local one=1 | 
 | 21 |     local captrue=True | 
 | 22 |     local lowtrue=true | 
| Mahito OGURA | 98f59aa | 2015-05-11 18:02:34 +0900 | [diff] [blame] | 23 |     local uppertrue=TRUE | 
 | 24 |     local capyes=Yes | 
 | 25 |     local lowyes=yes | 
 | 26 |     local upperyes=YES | 
 | 27 |  | 
 | 28 |     for default in True False; do | 
 | 29 |         for name in one captrue lowtrue uppertrue capyes lowyes upperyes; do | 
| Ian Wienand | 165afa2 | 2015-05-25 11:29:48 +1000 | [diff] [blame] | 30 |             local msg="trueorfalse($default $name)" | 
 | 31 |             assert_equal "True" $(trueorfalse $default $name) "$msg" | 
| Mahito OGURA | 98f59aa | 2015-05-11 18:02:34 +0900 | [diff] [blame] | 32 |         done | 
 | 33 |     done | 
 | 34 |  | 
| Ian Wienand | 9b0ebc4 | 2015-04-17 13:06:47 +1000 | [diff] [blame] | 35 |     local zero=0 | 
 | 36 |     local capfalse=False | 
 | 37 |     local lowfalse=false | 
| Mahito OGURA | 98f59aa | 2015-05-11 18:02:34 +0900 | [diff] [blame] | 38 |     local upperfalse=FALSE | 
 | 39 |     local capno=No | 
 | 40 |     local lowno=no | 
 | 41 |     local upperno=NO | 
 | 42 |  | 
 | 43 |     for default in True False; do | 
 | 44 |         for name in zero capfalse lowfalse upperfalse capno lowno upperno; do | 
| Ian Wienand | 165afa2 | 2015-05-25 11:29:48 +1000 | [diff] [blame] | 45 |             local msg="trueorfalse($default $name)" | 
 | 46 |             assert_equal "False" $(trueorfalse $default $name) "$msg" | 
| Ian Wienand | 9b0ebc4 | 2015-04-17 13:06:47 +1000 | [diff] [blame] | 47 |         done | 
 | 48 |     done | 
 | 49 | } | 
 | 50 |  | 
| Mahito OGURA | 98f59aa | 2015-05-11 18:02:34 +0900 | [diff] [blame] | 51 | test_trueorfalse | 
| Ian Wienand | 9b0ebc4 | 2015-04-17 13:06:47 +1000 | [diff] [blame] | 52 |  | 
 | 53 | report_results |