test hint

This commit is contained in:
pvincent
2026-07-30 18:01:05 +04:00
parent d4e67987d4
commit d1a103d163
2 changed files with 20 additions and 13 deletions
+9 -7
View File
@@ -170,17 +170,18 @@ function on_error {
elif ! is_true "$CHILD_PROCESS"; then
# in main process only, not from children!
local regex2
local regex2 source lineno funcname
last_error="${tmp_error[-1]}"
regex2='^[[:space:]]+miaou_trace: source=(.*) lineno=(.*) funcname=(.*)$'
if [[ "$last_error" =~ $regex2 ]]; then
miaou_debug "<miaou_trace>"
trace_source="${BASH_REMATCH[1]}"
trace_lineno="${BASH_REMATCH[2]}"
trace_funcname="${BASH_REMATCH[3]}"
extra_source=("$trace_source")
extra_lineno=("$trace_lineno")
extra_funcname=("$trace_funcname")
source="${BASH_REMATCH[1]}"
lineno="${BASH_REMATCH[2]}"
funcname="${BASH_REMATCH[3]}"
[[ "$funcname" == '<main>' ]] && funcname="$funcname (hint: prefer source than child process)"
extra_source=("$source")
extra_lineno=("$lineno")
extra_funcname=("$funcname")
# miaou_debug "<miaou_trace found_first source=${extra_source} lineno=${extra_lineno} funcname=${extra_funcname}/>"
# go backward
for ((i = ${#tmp_error[@]} - 2; i >= 0; i--)); do
@@ -190,6 +191,7 @@ function on_error {
source="${BASH_REMATCH[1]}"
lineno="${BASH_REMATCH[2]}"
funcname="${BASH_REMATCH[3]}"
[[ "$funcname" == '<main>' ]] && funcname="$funcname (hint: prefer source than child process)"
extra_source=("$source" "${extra_source[@]}")
extra_lineno=("$lineno" "${extra_lineno[@]}")
extra_funcname=("$funcname" "${extra_funcname[@]}")