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 Merinobuiltin : || echo "Bad return code at $LINENO" 12*13de33a5SJulio Merinobuiltin true || echo "Bad return code at $LINENO" 13*13de33a5SJulio Merinobuiltin ls 2>/dev/null && echo "Bad return code at $LINENO" 14*13de33a5SJulio Merinocheck '"$(builtin pwd)" = "$(pwd)"' 15*13de33a5SJulio Merinocheck '-z "$(builtin :)"' 16*13de33a5SJulio Merinocheck '-z "$(builtin true)"' 17*13de33a5SJulio Merinocheck '-z "$( (builtin nosuchtool) 2>/dev/null)"' 18*13de33a5SJulio Merinocheck '-z "$(builtin nosuchtool 2>/dev/null)"' 19*13de33a5SJulio Merinocheck '-z "$(builtin nosuchtool 2>/dev/null; :)"' 20*13de33a5SJulio Merinocheck '-z "$( (builtin ls) 2>/dev/null)"' 21*13de33a5SJulio Merinocheck '-z "$(builtin ls 2>/dev/null)"' 22*13de33a5SJulio Merinocheck '-z "$(builtin ls 2>/dev/null; :)"' 23*13de33a5SJulio Merinocheck '-n "$( (builtin nosuchtool) 2>&1)"' 24*13de33a5SJulio Merinocheck '-n "$(builtin nosuchtool 2>&1)"' 25*13de33a5SJulio Merinocheck '-n "$(builtin nosuchtool 2>&1; :)"' 26*13de33a5SJulio Merinocheck '-n "$( (builtin ls) 2>&1)"' 27*13de33a5SJulio Merinocheck '-n "$(builtin ls 2>&1)"' 28*13de33a5SJulio Merinocheck '-n "$(builtin ls 2>&1; :)"' 29*13de33a5SJulio Merino 30*13de33a5SJulio Merinoexit $((failures > 0)) 31