Thread (68 messages) 68 messages, 7 authors, 2020-05-15

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

From: Danh Doan <hidden>
Date: 2020-05-04 23:25:16

On 2020-05-04 10:46:36-0700, Carlo Marcelo Arenas Belón [off-list ref] wrote:
On Sat, Apr 11, 2020 at 12:18:12AM +0700, Đoàn Trần Công Danh wrote:
quoted
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)
This function will be called in CI only, and when the the shell used
is bash, to annotate the faulty line.

We have a test guarding it already.
So, I think it's fine.

-- 
Danh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help