blob: 03996ceab43440c5d5e6310276ef6442c6ebf41e [file] [log] [blame]
Ian Wienand9b0ebc42015-04-17 13:06:47 +10001#!/usr/bin/env bash
2
3# Tests for DevStack meta-config functions
4
5TOP=$(cd $(dirname "$0")/.. && pwd)
6
7# Import common functions
8source $TOP/functions
9source $TOP/tests/unittest.sh
10
Ian Wienande82bac02015-08-25 14:29:08 +100011# common mistake is to use $FOO instead of "FOO"; in that case we
12# should die
13bash -c "source $TOP/functions-common; VAR=\$(trueorfalse False \$FOO)" &> /dev/null
14assert_equal 1 $? "missing test-value"
15
16VAL=$(trueorfalse False MISSING_VARIABLE)
17assert_equal "False" $VAL "blank test-value"
18
Mahito OGURA98f59aa2015-05-11 18:02:34 +090019function test_trueorfalse {
Ian Wienand9b0ebc42015-04-17 13:06:47 +100020 local one=1
21 local captrue=True
22 local lowtrue=true
Mahito OGURA98f59aa2015-05-11 18:02:34 +090023 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 Wienand165afa22015-05-25 11:29:48 +100030 local msg="trueorfalse($default $name)"
31 assert_equal "True" $(trueorfalse $default $name) "$msg"
Mahito OGURA98f59aa2015-05-11 18:02:34 +090032 done
33 done
34
Ian Wienand9b0ebc42015-04-17 13:06:47 +100035 local zero=0
36 local capfalse=False
37 local lowfalse=false
Mahito OGURA98f59aa2015-05-11 18:02:34 +090038 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 Wienand165afa22015-05-25 11:29:48 +100045 local msg="trueorfalse($default $name)"
46 assert_equal "False" $(trueorfalse $default $name) "$msg"
Ian Wienand9b0ebc42015-04-17 13:06:47 +100047 done
48 done
49}
50
Mahito OGURA98f59aa2015-05-11 18:02:34 +090051test_trueorfalse
Ian Wienand9b0ebc42015-04-17 13:06:47 +100052
53report_results