almost child_error

This commit is contained in:
pvincent
2026-07-30 13:25:07 +04:00
parent 91ba36f143
commit f9888f3b6c
2 changed files with 19 additions and 5 deletions
+19 -4
View File
@@ -290,6 +290,7 @@ function dump_failure {
function save_err_trace_to_main {
miaou_debug "<save_stacktrace_to_stderr count=${#error_source[@]} to=${MIAOU_BASH_ERROR_CHILDREN}>"
local i source lineno funcname
for i in "${tmp_error[@]}"; do >>"$MIAOU_BASH_ERROR_CHILDREN" echo "$i"; done
for i in "${!error_source[@]}"; do
source="${error_source[$i]}"
lineno="${error_lineno[$i]}"
@@ -297,7 +298,6 @@ function save_err_trace_to_main {
miaou_debug "<trace source=${source} lineno=${lineno} funcname=${funcname}/>"
>>"$MIAOU_BASH_ERROR_CHILDREN" echo -e "\tmiaou_trace: source=${source} lineno=${lineno} funcname=${funcname}"
done
for i in "${tmp_error[@]}"; do >>"$MIAOU_BASH_ERROR_CHILDREN" echo "$i"; done
miaou_debug "</save_stacktrace_to_stderr>"
}
@@ -347,10 +347,25 @@ function load_tmp_error {
miaou_debug "<tmp_error empty/>"
else
miaou_debug "<tmp_error count=${count}>"
local i
for i in "${tmp_error[@]}"; do
miaou_debug "<tmperr content={$i}/>"
local i miaou_error_regex last_miaou_error_index=-1 content
local multiple_errors=()
miaou_error_regex='^(.*): line ([0-9]+): miaou_error:'
for i in "${!tmp_error[@]}"; do
content="${tmp_error[i]}"
miaou_debug "<tmperr index=$i content={$content}/>"
if [[ "$content" =~ $miaou_error_regex ]]; then
if [[ $last_miaou_error_index -ge 0 ]]; then
multiple_errors+=("$last_miaou_error_index")
fi
last_miaou_error_index=$i
fi
done
if [[ "${#multiple_errors[@]}" -gt 0 ]]; then
miaou_debug "multiple_errors = ${multiple_errors[*]}"
for i in "${multiple_errors[@]}"; do unset "tmp_error[$i]"; done
tmp_error=("${tmp_error[@]}")
fi
miaou_debug "</tmp_error>"
fi
else
-1
View File
@@ -6,7 +6,6 @@
function library {
echo library loaded
>&2 echo stderr from library
pwd
# . "./test/stub/extra/onemore.bash"
"./test/stub/extra/onemore.bash"
}