-command -v unbuffer &>/dev/null || skip
-
unset NO_COLOR
-unbuffer "${BFS[@]}" rainbow >"$OUT"
+bfs_pty rainbow >"$OUT"
sort_output
diff_output
command -v unbuffer &>/dev/null || skip
-NO_COLOR=1 unbuffer "${BFS[@]}" rainbow >"$OUT"
+NO_COLOR=1 bfs_pty rainbow >"$OUT"
sort_output
diff_output
-command -v unbuffer &>/dev/null || skip
-
-unbuffer "${BFS[@]}" basic -status >"$OUT"
+bfs_pty basic -status >"$OUT"
fi
}
+function bfs_pty() {
+ command -v unbuffer &>/dev/null || skip
+
+ bfs_verbose "$@"
+ unbuffer bash -c 'stty cols 80 rows 24 && "$@"' bash "${BFS[@]}" "$@"
+ local status="$?"
+
+ if ((status > 125)); then
+ exit "$status"
+ else
+ return "$status"
+ fi
+}
+
function check_exit() {
local expected="$1"
local actual="0"