summaryrefslogtreecommitdiff
path: root/t/test-lib.sh
diff options
context:
space:
mode:
authorWilliam Chargin <wchargin@gmail.com>2018-08-06 18:35:08 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-06 20:35:15 (GMT)
commit6ec633059ad0b17850ad18c7325678d6c845b74c (patch)
tree64f5d0afb47d1427a3b3aac6474f5bfbb34f5337 /t/test-lib.sh
parent53f9a3e157dbbc901a02ac2c73346d375e24978c (diff)
downloadgit-6ec633059ad0b17850ad18c7325678d6c845b74c.zip
git-6ec633059ad0b17850ad18c7325678d6c845b74c.tar.gz
git-6ec633059ad0b17850ad18c7325678d6c845b74c.tar.bz2
t: factor out FUNNYNAMES as shared lazy prereq
A fair number of tests need to check that the filesystem supports file names including "funny" characters, like newline, tab, and double-quote. Jonathan Nieder suggested that this be extracted into a lazy prereq in the top-level `test-lib.sh`. This patch effects that change. The FUNNYNAMES prereq now uniformly requires support for newlines, tabs, and double-quotes in filenames. This very slightly decreases the power of some tests, which might have run previously on a system that supports (e.g.) newlines and tabs but not double-quotes, but now will not. This seems to me like an acceptable tradeoff for consistency. One test (`t/t9902-completion.sh`) defined FUNNYNAMES to further require the separators \034 through \037, the test for which was implemented using the Bash-specific $'\034' syntax. I've elected to leave this one as is, renaming it to FUNNIERNAMES. After this patch, `git grep 'test_\(set\|lazy\)_prereq.*FUNNYNAMES'` has only one result. Signed-off-by: William Chargin <wchargin@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/test-lib.sh')
-rw-r--r--t/test-lib.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 2831570..f221aa9 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1103,6 +1103,20 @@ test_lazy_prereq CASE_INSENSITIVE_FS '
test "$(cat CamelCase)" != good
'
+test_lazy_prereq FUNNYNAMES '
+ test_have_prereq !MINGW &&
+ touch -- \
+ "FUNNYNAMES tab embedded" \
+ "FUNNYNAMES \"quote embedded\"" \
+ "FUNNYNAMES newline
+embedded" 2>/dev/null &&
+ rm -- \
+ "FUNNYNAMES tab embedded" \
+ "FUNNYNAMES \"quote embedded\"" \
+ "FUNNYNAMES newline
+embedded" 2>/dev/null
+'
+
test_lazy_prereq UTF8_NFD_TO_NFC '
# check whether FS converts nfd unicode to nfc
auml=$(printf "\303\244")