pvincent 2 weeks ago
parent
commit
02f84e8568
  1. 9
      bin/miaou-bash
  2. 60
      test/miaou-bash.test.bash

9
bin/miaou-bash

@ -670,8 +670,11 @@ trap 'on_exit $?' EXIT
trap 'on_pipe' PIPE
trap 'on_return' RETURN
[[ -v SCRIPT ]] && BASH_ARGV0="${SCRIPT}" && shift
if [[ -v SCRIPT ]]; then
BASH_ARGV0="${SCRIPT}"
miaou_debug "<script found=$SCRIPT args_count=$#/>"
[[ $# -gt 0 ]] && shift
fi
if is_true "$CHILD_PROCESS"; then
# any nested children
exec 4>/dev/tty 2>"$MIAOU_BASH_ERROR"
@ -679,7 +682,7 @@ if is_true "$CHILD_PROCESS"; then
else
# the MAIN Process
if [[ -e /proc/$$/fd/3 ]]; then
exec 4>&3 3>&- # swap fd 3 4 when fd 3 sent off
exec 4>&3 3>&- # swap fd 3 4 + remove fd 3
else
MAIN_FD_MIAOU=true
[[ -t 2 ]] && MAIN_FD_STDERR=false || MAIN_FD_STDERR=true

60
test/miaou-bash.test.bash

@ -149,36 +149,36 @@ mkdir -p "$TMP_DIRECTORY"
TIMEFORMAT=$'\nelapsed: %Rs'
time {
assert_tty
assert success
assert exit_0
assert return_conditional
assert_grep success_with_args 'count args: 2' -- 'A B' C
assert heredoc
assert pipe1
assert pipe2
fail_type subshell_term SUBSHELL_ERROR
fail_type unbound_variable UNBOUND_VARIABLE
fail_type unbound_associative UNBOUND_VARIABLE
fail_type false FALSE
fail_type last_false COMMAND_ERROR
fail_type command_error COMMAND_ERROR
fail_type subshell_term SUBSHELL_ERROR
fail_type exit EXIT
fail_type command_not_found COMMAND_NOT_FOUND
fail_type source_not_found SOURCE_NOT_FOUND
fail_type file_not_found FILE_NOT_FOUND
fail_type child_error CHILD_ERROR 'prefer source than child process'
fail_stderr_count unbound_variable 1
fail_stderr_count child_error 4
fail_miaou_count command_error_multiline 7
fail_miaou_count unknown 1
fail_stderr_grep two_options 'ERROR: too many args 2, either single option or SCRIPT + args accepted!'
fail_stderr_grep script_not_found "ERROR: script 'doesnt_exist' not found!"
# assert_tty
# assert success
# assert exit_0
# assert return_conditional
# assert_grep success_with_args 'count args: 2' -- 'A B' C
# assert heredoc
# assert pipe1
# assert pipe2
#
# fail_type subshell_term SUBSHELL_ERROR
# fail_type unbound_variable UNBOUND_VARIABLE
# fail_type unbound_associative UNBOUND_VARIABLE
# fail_type false FALSE
# fail_type last_false COMMAND_ERROR
# fail_type command_error COMMAND_ERROR
# fail_type subshell_term SUBSHELL_ERROR
# fail_type exit EXIT
# fail_type command_not_found COMMAND_NOT_FOUND
# fail_type source_not_found SOURCE_NOT_FOUND
# fail_type file_not_found FILE_NOT_FOUND
# fail_type child_error CHILD_ERROR 'prefer source than child process'
#
# fail_stderr_count unbound_variable 1
# fail_stderr_count child_error 4
#
# fail_miaou_count command_error_multiline 7
# fail_miaou_count unknown 1
#
# fail_stderr_grep two_options 'ERROR: too many args 2, either single option or SCRIPT + args accepted!'
# fail_stderr_grep script_not_found "ERROR: script 'doesnt_exist' not found!"
fail_stderr_grep no_script 'ERROR: script expected!'
}

Loading…
Cancel
Save