Skip to content

Commit ed7634e

Browse files
pks-tttaylorr
authored andcommitted
t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
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 <[email protected]> Signed-off-by: Taylor Blau <[email protected]>
1 parent ef8ce8f commit ed7634e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

t/test-lib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1572,7 +1572,7 @@ then
15721572

15731573
prepend_var LSAN_OPTIONS : dedup_token_length=9999
15741574
prepend_var LSAN_OPTIONS : log_exe_name=1
1575-
prepend_var LSAN_OPTIONS : log_path=\"$TEST_RESULTS_SAN_FILE\"
1575+
prepend_var LSAN_OPTIONS : log_path="'$TEST_RESULTS_SAN_FILE'"
15761576
export LSAN_OPTIONS
15771577

15781578
elif test "$GIT_TEST_PASSING_SANITIZE_LEAK" = "check" ||

0 commit comments

Comments
 (0)