summaryrefslogtreecommitdiff
path: root/t/t3600-rm.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/t3600-rm.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/t3600-rm.sh')
-rwxr-xr-xt/t3600-rm.sh8
1 files changed, 3 insertions, 5 deletions
diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh
index b8fbdef..5829dfd 100755
--- a/t/t3600-rm.sh
+++ b/t/t3600-rm.sh
@@ -14,15 +14,13 @@ test_expect_success \
git add -- foo bar baz 'space embedded' -q &&
git commit -m 'add normal files'"
-if test_have_prereq !MINGW && touch -- 'tab embedded' 'newline
-embedded' 2>/dev/null
-then
- test_set_prereq FUNNYNAMES
-else
+if test_have_prereq !FUNNYNAMES; then
say 'Your filesystem does not allow tabs in filenames.'
fi
test_expect_success FUNNYNAMES 'add files with funny names' "
+ touch -- 'tab embedded' 'newline
+embedded' &&
git add -- 'tab embedded' 'newline
embedded' &&
git commit -m 'add files with tabs and newlines'