Subject: Re: [PATCH v5 10/12] tests: when run in Bash, annotate test failures with file name/line number

From: Carlo Marcelo Arenas Belón <[email-masked]>
Date: Mon, 4 May 2020 10:46:36 -0700

On Sat, Apr 11, 2020 at 12:18:12AM +0700, Đoàn Trần Công Danh wrote:
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 0ea1e5a05e..40a00983f7 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -657,6 +657,18 @@ die () {
>  	fi
>  }
>  
> +file_lineno () {
> +	test -z "$GIT_TEST_FRAMEWORK_SELFTEST" && test -n "$BASH" || return 0
> +	local i
> +	for i in ${!BASH_SOURCE[*]}

this line breaks with NetBSD's sh (and probably other POSIX complaint shells)

the Coding Guidelines mention "no shell arrays" and while the tests are more
relaxed against that rule, usually workarounds are needed, as it is shown by:
5826b7b595 (test-lib: check Bash version for '-x' without using shell arrays,
2019-01-03)

Carlo