| 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 |