From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Taylor Blau <me@ttaylorr.com>, Eric Sunshine <sunshine@sunshineco.com>
Subject: [PATCH v3 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
Date: Wed, 16 Oct 2024 10:12:51 +0200 [thread overview]
Message-ID: <a514f5d14a7263750f1fa4bcc04e3daf2901c3eb.1729060405.git.ps@pks.im> (raw)
In-Reply-To: <cover.1729060405.git.ps@pks.im>
When assembling our LSAN_OPTIONS that configure the leak sanitizer we
end up prepending the string with various different colon-separated
options via calls to `prepend_var`. One of the settings we add is the
path where the sanitizer should store logs, which can be an arbitrary
filesystem path.
Naturally, filesystem paths may contain whitespace characters. And while
it does seem as if we were quoting the value, we use escaped quotes and
consequently split up the value if it does contain spaces. This leads to
the following error in t0000 when having a value with whitespaces:
.../t/test-lib.sh: eval: line 64: unexpected EOF while looking for matching `"'
++ return 1
error: last command exited with $?=1
not ok 5 - subtest: 3 passing tests
The error itself is a bit puzzling at first. The basic problem is that
the code sees the leading escaped quote during eval, but because we
truncate everything after the space character it doesn't see the
trailing escaped quote and thus fails to parse the string.
Properly quote the value to fix the issue while using single-quotes to
quote the inner value passed to eval. The issue can be reproduced by
t0000 with such a path that contains spaces.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
t/test-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index b1a8ee5c002..241198ba95f 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1572,7 +1572,7 @@ then
prepend_var LSAN_OPTIONS : dedup_token_length=9999
prepend_var LSAN_OPTIONS : log_exe_name=1
- prepend_var LSAN_OPTIONS : log_path=\"$TEST_RESULTS_SAN_FILE\"
+ prepend_var LSAN_OPTIONS : log_path="'$TEST_RESULTS_SAN_FILE'"
export LSAN_OPTIONS
elif test "$GIT_TEST_PASSING_SANITIZE_LEAK" = "check" ||
--
2.47.0.72.gef8ce8f3d4.dirty
next prev parent reply other threads:[~2024-10-16 8:12 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-14 12:21 [PATCH 00/10] Platform compatibility fixes Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-14 22:00 ` Taylor Blau
2024-10-14 12:21 ` [PATCH 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-14 22:06 ` Taylor Blau
2024-10-15 11:36 ` Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-14 22:07 ` Taylor Blau
2024-10-14 12:21 ` [PATCH 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-14 23:23 ` Eric Sunshine
2024-10-15 0:29 ` Taylor Blau
2024-10-14 12:21 ` [PATCH 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-14 22:10 ` Taylor Blau
2024-10-14 12:21 ` [PATCH 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-14 22:12 ` Taylor Blau
2024-10-14 12:21 ` [PATCH 10/10] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-14 22:14 ` Taylor Blau
2024-10-15 11:44 ` Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 00/10] Platform compatibility fixes Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-15 23:53 ` Taylor Blau
2024-10-16 3:57 ` Patrick Steinhardt
2024-10-16 20:59 ` Taylor Blau
2024-10-16 21:02 ` Taylor Blau
2024-10-17 4:03 ` Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-16 5:59 ` James Liu
2024-10-15 11:45 ` [PATCH v2 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-16 5:58 ` James Liu
2024-10-15 11:45 ` [PATCH v2 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-16 6:02 ` James Liu
2024-10-15 11:45 ` [PATCH v2 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-16 6:35 ` James Liu
2024-10-16 8:27 ` James Liu
2024-10-15 11:45 ` [PATCH v2 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-15 11:45 ` [PATCH v2 10/10] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-16 8:12 ` [PATCH v3 00/10] Platform compatibility fixes Patrick Steinhardt
2024-10-16 8:12 ` Patrick Steinhardt [this message]
2024-10-16 8:12 ` [PATCH v3 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-17 1:10 ` brian m. carlson
2024-10-17 4:03 ` Patrick Steinhardt
2024-10-25 18:32 ` Josh Steadmon
2024-10-28 5:14 ` [PATCH] t6006: fix prereq handling with `test_format ()` Patrick Steinhardt
2024-10-28 17:48 ` Taylor Blau
2024-10-16 8:12 ` [PATCH v3 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-16 8:12 ` [PATCH v3 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-16 8:13 ` [PATCH v3 10/10] http: fix build error on FreeBSD Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a514f5d14a7263750f1fa4bcc04e3daf2901c3eb.1729060405.git.ps@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=me@ttaylorr.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).