From f95f3c24f76103c99a21f85fe81b52cf71bc2d15 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Sat, 18 Feb 2023 15:01:21 -0800 Subject: [PATCH] e2e: print failing line --- test_e2e.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/test_e2e.sh b/test_e2e.sh index b59f895..1a72d33 100755 --- a/test_e2e.sh +++ b/test_e2e.sh @@ -18,8 +18,25 @@ set -o errexit set -o nounset set -o pipefail +function caller() { + local stack_skip=${1:-0} + stack_skip=$((stack_skip + 1)) + if [[ ${#FUNCNAME[@]} -gt ${stack_skip} ]]; then + local i + for ((i=1 ; i <= ${#FUNCNAME[@]} - stack_skip ; i++)) + do + local frame_no=$((i - 1 + stack_skip)) + local source_lineno=${BASH_LINENO[$((frame_no - 1))]} + local funcname=${FUNCNAME[${frame_no}]} + if [[ "$funcname" =~ 'e2e::' ]]; then + echo "${source_lineno}" + fi + done + fi +} + function fail() { - echo "FAIL:" "$@" + echo "FAIL: line $(caller):" "$@" return 42 }