1<< name1 = name1-value 2<< 3<< $name1 4stat=0 result=name1-value 5<< $(name1 6unknown: warning: truncated macro reference: "$(name1" 7stat=1 result= 8<< $(name1) 9stat=0 result=name1-value 10<< $( name1) 11stat=0 result=name1-value 12<< $(name1 ) 13stat=0 result=name1-value 14<< $(na me1) 15unknown: warning: attribute name syntax error at: "...na>>> me1" 16stat=1 result= 17<< ${na me1} 18unknown: warning: attribute name syntax error at: "...na>>> me1" 19stat=1 result= 20<< ${${name1} != {}?name 1 defined, |$name1|$name2|} 21unknown: warning: attribute name syntax error at: "...>>>${name1} != {}?name " 22stat=1 result= 23<< ${ ${name1} != {}?name 1 defined, |$name1|$name2|} 24unknown: warning: attribute name syntax error at: "... >>>${name1} != {}?name " 25stat=1 result= 26<< ${ ${name1} ?name 1 defined, |$name1|$name2|} 27unknown: warning: attribute name syntax error at: "... >>>${name1} ?name 1 def" 28stat=1 result= 29<< ${{$name1} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|} } 30unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...$name1}>>>? {name 1 defined, |" 31stat=1 result= 32<< ${x{$name1} != {}?{name 1 defined, |$name1|$name2|}} 33unknown: warning: attribute name syntax error at: "...x>>>{$name1} != {}?{name" 34stat=1 result= 35<< ${{$name1}x?{name 1 defined, |$name1|$name2|}} 36unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...$name1}>>>x?{name 1 defined, |" 37stat=1 result= 38<< ${{$name1} != {}x{name 1 defined, |$name1|$name2|}} 39unknown: warning: "?" or ":" expected at: "...}>>>x{name 1 defined, |$" 40stat=1 result= 41<< ${{$name1} != {}?x{name 1 defined, |$name1|$name2|}} 42stat=2 result=x{name 1 defined, |name1-value||} 43<< ${{$name2} != {}?x{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} 44stat=2 result= 45<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}x} 46unknown: warning: ":" expected at: "...name 1 defined, |$name1|$name2|}>>>x" 47stat=3 result=name 1 defined, |name1-value|| 48<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}x:{name 1 undefined, |$name1|$name2|}} 49unknown: warning: ":" expected at: "...name 1 defined, |$name1|$name2|}>>>x:{name 1 undefined," 50stat=3 result=name 1 defined, |name1-value|| 51<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:x{name 1 undefined, |$name1|$name2|}} 52stat=2 result=name 1 defined, |name1-value|| 53<< ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:x{name 2 undefined, |$name1|$name2|}} 54stat=2 result=x{name 2 undefined, |name1-value||} 55<< ${{text}} 56unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>" 57stat=1 result= 58<< ${{text}?{non-empty}:{empty}} 59unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>?{non-empty}:{empty}" 60stat=1 result= 61<< ${{text} = {}} 62unknown: warning: "==" or "!="" or "<"" or "<="" or ">="" or ">" expected at: "...text}>>>= {}" 63stat=1 result= 64<< ${{${ name1}} == {}} 65stat=0 result= 66<< ${name1?{${ name1}}:{${name2}}} 67stat=0 result=name1-value 68<< ${name2?{${ name1}}:{${name2}}} 69stat=2 result= 70<< ${name2?{${name1}}:{${ name2}}} 71stat=2 result= 72<< ${name2:{${name1}}:{${name2}}} 73unknown: warning: unexpected input at: "...${name1}}>>>:{${name2}}" 74stat=1 result=name1-value 75<< ${name2?{${name1}}?{${name2}}} 76unknown: warning: ":" expected at: "...${name1}}>>>?{${name2}}" 77stat=1 result= 78<< ${{${name1?bug:test}} != {bug:test}?{Error: NOT}:{Good:}} Postfix 2.11 compatible 79stat=0 result=Good: Postfix 2.11 compatible 80<< ${{${name1??bug}} != {?bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible 81stat=0 result=Good: Postfix 2.11 compatible 82<< ${{${name2::bug}} != {:bug}?{Error: NOT}:{Good:}} Postfix 2.11 compatible 83stat=0 result=Good: Postfix 2.11 compatible 84<< ${{xx}==(yy)?{oops}:{phew}} 85unknown: warning: "{expression}" expected at: "...{xx} ==>>>(yy)?{oops}:{phew}" 86stat=1 result= 87<< 88 89<< name1 = name1-value 90<< 91<< ${name1?name 1 defined, |$name1|$name2|} 92stat=2 result=name 1 defined, |name1-value|| 93<< ${name1:name 1 undefined, |$name1|$name2|} 94stat=0 result= 95<< ${name2?name 2 defined, |$name1|$name2|} 96stat=0 result= 97<< ${name2:name 2 undefined, |$name1|$name2|} 98stat=2 result=name 2 undefined, |name1-value|| 99<< |$name1|$name2| 100stat=2 result=|name1-value|| 101<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}} 102stat=2 result=name 1 defined, |name1-value|| 103<< ${{$name1} != {}:{name 1 undefined, |$name1|$name2|}} 104stat=0 result= 105<< ${{$name1} == {}?{name 1 undefined, |$name1|$name2|}} 106stat=0 result= 107<< ${{$name1} == {}:{name 1 defined, |$name1|$name2|}} 108stat=2 result=name 1 defined, |name1-value|| 109<< ${name1?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}} 110stat=2 result=name 1 defined, |name1-value|| 111<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:{name 1 undefined, |$name1|$name2|}} 112stat=2 result=name 1 defined, |name1-value|| 113<< ${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : {name 1 undefined, |$name1|$name2|}} 114stat=2 result=name 1 defined, |name1-value|| 115<< ${{$name1} != {}?{name 1 defined, |$name1|$name2|}:name 1 undefined, |$name1|$name2|} 116stat=2 result=name 1 defined, |name1-value|| 117<< ${{$name1} != {} ? {name 1 defined, |$name1|$name2|} : name 1 undefined, |$name1|$name2|} 118stat=2 result=name 1 defined, |name1-value|| 119<< ${{$name1} != {}} 120stat=0 result=true 121<< ${{$name1} == {}} 122stat=0 result= 123<< ${{$name2} != {}?{name 2 defined, |$name1|$name2|}} 124stat=2 result= 125<< ${{$name2} != {}:{name 2 undefined, |$name1|$name2|}} 126stat=2 result=name 2 undefined, |name1-value|| 127<< ${{$name2} == {}?{name 2 undefined, |$name1|$name2|}} 128stat=2 result=name 2 undefined, |name1-value|| 129<< ${{$name2} == {}:{name 2 defined, |$name1|$name2|}} 130stat=2 result= 131<< ${name2?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} 132stat=2 result=name 2 undefined, |name1-value|| 133<< ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:{name 2 undefined, |$name1|$name2|}} 134stat=2 result=name 2 undefined, |name1-value|| 135<< ${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : {name 2 undefined, |$name1|$name2|}} 136stat=2 result=name 2 undefined, |name1-value|| 137<< ${{$name2} != {}?{name 2 defined, |$name1|$name2|}:name 2 undefined, |$name1|$name2|} 138stat=2 result=name 2 undefined, |name1-value|| 139<< ${{$name2} != {} ? {name 2 defined, |$name1|$name2|} : name 2 undefined, |$name1|$name2|} 140stat=2 result= name 2 undefined, |name1-value|| 141<< ${{$name2} != {}} 142stat=2 result= 143<< ${{$name2} == {}} 144stat=2 result=true 145<< 146 147<< 148<< ${{1} == {1}} 149stat=0 result=true 150<< ${{1} < {1}} 151stat=0 result= 152<< ${{1} <= {1}} 153stat=0 result=true 154<< ${{1} >= {1}} 155stat=0 result=true 156<< ${{1} > {1}} 157stat=0 result= 158<< ${{1} == {2}} 159stat=0 result= 160<< ${{1} < {2}} 161stat=0 result=true 162<< ${{1} <= {2}} 163stat=0 result=true 164<< ${{1} >= {2}} 165stat=0 result= 166<< ${{1} > {2}} 167stat=0 result= 168<< ${{a} == {a}} 169stat=0 result=true 170<< ${{a} < {a}} 171stat=0 result= 172<< ${{a} <= {a}} 173stat=0 result=true 174<< ${{a} >= {a}} 175stat=0 result=true 176<< ${{a} > {a}} 177stat=0 result= 178<< ${{a} == {b}} 179stat=0 result= 180<< ${{a} < {b}} 181stat=0 result=true 182<< ${{a} <= {b}} 183stat=0 result=true 184<< ${{a} >= {b}} 185stat=0 result= 186<< ${{a} > {b}} 187stat=0 result= 188<< 189 190<< name1 = foo 191<< 192<< ${{$name1} >=blah {bar}} 193unknown: warning: bad operator suffix at: "...>=>>>blah" 194stat=1 result= 195<< ${{aaa} == {bbb}} 196stat=0 result= 197<< ${{aaa} ==length {bbb}} 198stat=0 result=true 199<< ${{aaa} <=length {bbb}} 200stat=0 result=true 201<< ${{aaa} >=length {bbb}} 202stat=0 result=true 203<< ${{aaa} != {bbb}} 204stat=0 result=true 205<< ${{aaa} !=length {bbb}} 206stat=0 result= 207<< ${{aaa} > {bb}} 208stat=0 result= 209<< ${{aaa} >length {bb}} 210stat=0 result=true 211<< ${{aaa} >= {bb}} 212stat=0 result= 213<< ${{aaa} >=length {bb}} 214stat=0 result=true 215<< ${{aaa} < {bb}} 216stat=0 result=true 217<< ${{aaa} <length {bb}} 218stat=0 result= 219<< ${{aaa} <= {bb}} 220stat=0 result=true 221<< ${{aaa} <=length {bb}} 222stat=0 result= 223