From 78d0e297688b8b6b25463d339bc270b10f017c2d Mon Sep 17 00:00:00 2001 From: Andrew Bettison Date: Tue, 29 Apr 2014 15:09:18 +0930 Subject: [PATCH] Improve test framework: shell backtrace from forks Was not showing the point where the fork() was invoked --- testframework.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/testframework.sh b/testframework.sh index cc2df431..23ba325f 100644 --- a/testframework.sh +++ b/testframework.sh @@ -1278,10 +1278,12 @@ _tfw_backtrace() { let up=up+1 done local -i i=0 - while [ $up -lt ${#FUNCNAME[*]} -a "${BASH_SOURCE[$up]}" != "${BASH_SOURCE[0]}" ]; do - echo "[$i] ${FUNCNAME[$(($up-1))]}() called from ${FUNCNAME[$up]}() at line ${BASH_LINENO[$(($up-1))]} of ${BASH_SOURCE[$up]}" >&$_tfw_log_fd + while [ $up -lt $((${#FUNCNAME[*]} - 1)) ]; do + if [ "${BASH_SOURCE[$up]}" != "${BASH_SOURCE[0]}" ]; then + echo "[$i] ${FUNCNAME[$(($up-1))]}() called from ${FUNCNAME[$up]}() at line ${BASH_LINENO[$(($up-1))]} of ${BASH_SOURCE[$up]}" >&$_tfw_log_fd + let i=i+1 + fi let up=up+1 - let i=i+1 done tfw_log '#-----' }