1201366Sjilles# $FreeBSD: releng/11.0/bin/sh/tests/expansion/cmdsubst1.0 201366 2010-01-01 18:17:46Z jilles $ 2201366Sjilles 3201366Sjillesfailures=0 4201366Sjilles 5201366Sjillescheck() { 6201366Sjilles if ! eval "[ $* ]"; then 7201366Sjilles echo "Failed: $*" 8201366Sjilles : $((failures += 1)) 9201366Sjilles fi 10201366Sjilles} 11201366Sjilles 12201366Sjillescheck '"$(echo abcde)" = "abcde"' 13201366Sjillescheck '"$(echo abcde; :)" = "abcde"' 14201366Sjilles 15201366Sjillescheck '"$(printf abcde)" = "abcde"' 16201366Sjillescheck '"$(printf abcde; :)" = "abcde"' 17201366Sjilles 18201366Sjilles# regular 19201366Sjillescheck '-n "$(umask)"' 20201366Sjillescheck '-n "$(umask; :)"' 21201366Sjillescheck '-n "$(umask 2>&1)"' 22201366Sjillescheck '-n "$(umask 2>&1; :)"' 23201366Sjilles 24201366Sjilles# special 25201366Sjillescheck '-n "$(times)"' 26201366Sjillescheck '-n "$(times; :)"' 27201366Sjillescheck '-n "$(times 2>&1)"' 28201366Sjillescheck '-n "$(times 2>&1; :)"' 29201366Sjilles 30201366Sjilles# regular 31201366Sjillescheck '".$(umask -@ 2>&1)." = ".umask: Illegal option -@."' 32201366Sjillescheck '".$(umask -@ 2>&1; :)." = ".umask: Illegal option -@."' 33201366Sjillescheck '".$({ umask -@; } 2>&1)." = ".umask: Illegal option -@."' 34201366Sjilles 35201366Sjilles# special 36201366Sjillescheck '".$(shift xyz 2>&1)." = ".shift: Illegal number: xyz."' 37201366Sjillescheck '".$(shift xyz 2>&1; :)." = ".shift: Illegal number: xyz."' 38201366Sjillescheck '".$({ shift xyz; } 2>&1)." = ".shift: Illegal number: xyz."' 39201366Sjilles 40201366Sjillesv=1 41201366Sjillescheck '-z "$(v=2 :)"' 42201366Sjillescheck '"$v" = 1' 43201366Sjillescheck '-z "$(v=3)"' 44201366Sjillescheck '"$v" = 1' 45201366Sjillescheck '"$(v=4 eval echo \$v)" = 4' 46201366Sjillescheck '"$v" = 1' 47201366Sjilles 48201366Sjillesexit $((failures > 0)) 49