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 |