1*13de33a5SJulio Merino 2*13de33a5SJulio Merinofailures=0 3*13de33a5SJulio Merino 4*13de33a5SJulio Merinocheck() { 5*13de33a5SJulio Merino if ! eval "[ $* ]"; then 6*13de33a5SJulio Merino echo "Failed: $*" 7*13de33a5SJulio Merino : $((failures += 1)) 8*13de33a5SJulio Merino fi 9*13de33a5SJulio Merino} 10*13de33a5SJulio Merino 11*13de33a5SJulio Merinocheck '"$(echo abcde)" = "abcde"' 12*13de33a5SJulio Merinocheck '"$(echo abcde; :)" = "abcde"' 13*13de33a5SJulio Merino 14*13de33a5SJulio Merinocheck '"$(printf abcde)" = "abcde"' 15*13de33a5SJulio Merinocheck '"$(printf abcde; :)" = "abcde"' 16*13de33a5SJulio Merino 17*13de33a5SJulio Merino# regular 18*13de33a5SJulio Merinocheck '-n "$(umask)"' 19*13de33a5SJulio Merinocheck '-n "$(umask; :)"' 20*13de33a5SJulio Merinocheck '-n "$(umask 2>&1)"' 21*13de33a5SJulio Merinocheck '-n "$(umask 2>&1; :)"' 22*13de33a5SJulio Merino 23*13de33a5SJulio Merino# special 24*13de33a5SJulio Merinocheck '-n "$(times)"' 25*13de33a5SJulio Merinocheck '-n "$(times; :)"' 26*13de33a5SJulio Merinocheck '-n "$(times 2>&1)"' 27*13de33a5SJulio Merinocheck '-n "$(times 2>&1; :)"' 28*13de33a5SJulio Merino 29*13de33a5SJulio Merino# regular 30*13de33a5SJulio Merinocheck '".$(umask -@ 2>&1)." = ".umask: Illegal option -@."' 31*13de33a5SJulio Merinocheck '".$(umask -@ 2>&1; :)." = ".umask: Illegal option -@."' 32*13de33a5SJulio Merinocheck '".$({ umask -@; } 2>&1)." = ".umask: Illegal option -@."' 33*13de33a5SJulio Merino 34*13de33a5SJulio Merino# special 35*13de33a5SJulio Merinocheck '".$(shift xyz 2>&1)." = ".shift: Illegal number: xyz."' 36*13de33a5SJulio Merinocheck '".$(shift xyz 2>&1; :)." = ".shift: Illegal number: xyz."' 37*13de33a5SJulio Merinocheck '".$({ shift xyz; } 2>&1)." = ".shift: Illegal number: xyz."' 38*13de33a5SJulio Merino 39*13de33a5SJulio Merinov=1 40*13de33a5SJulio Merinocheck '-z "$(v=2 :)"' 41*13de33a5SJulio Merinocheck '"$v" = 1' 42*13de33a5SJulio Merinocheck '-z "$(v=3)"' 43*13de33a5SJulio Merinocheck '"$v" = 1' 44*13de33a5SJulio Merinocheck '"$(v=4 eval echo \$v)" = 4' 45*13de33a5SJulio Merinocheck '"$v" = 1' 46*13de33a5SJulio Merino 47*13de33a5SJulio Merinoexit $((failures > 0)) 48