Re: [PATCH 01/11] t9902-completion: add tests demonstrating issues with quoted pathnames
From: SZEDER Gábor <hidden>
Date: 2018-04-19 19:08:48
On Wed, Apr 18, 2018 at 2:31 PM, Johannes Schindelin [off-list ref] wrote:
I suspect that the culprit is once again Cygwin's trick where illegal characters are mapped into a private Unicode page. Cygwin (and therefore MSYS2 runtime, and therefore the Bash used to run the test script) can use those filenames all right, but Git cannot. So even testing whether you could write an illegal file name via shell script is *not* enough to determine whether the file system supports funny characters.
I followed suit of all existing FUNNYNAMES checks: $ git grep -B3 'test_set_prereq FUNNYNAMES' master t/ master:t/t3600-rm.sh-if test_have_prereq !MINGW && touch -- 'tab embedded' 'newline master:t/t3600-rm.sh-embedded' 2>/dev/null master:t/t3600-rm.sh-then master:t/t3600-rm.sh: test_set_prereq FUNNYNAMES -- master:t/t4135-apply-weird-filenames.sh- if test_have_prereq !MINGW && master:t/t4135-apply-weird-filenames.sh- touch -- "tab embedded.txt" '\''"quoteembedded".txt'\'' master:t/t4135-apply-weird-filenames.sh- then master:t/t4135-apply-weird-filenames.sh: test_set_prereq FUNNYNAMES -- master:t/t9903-bash-prompt.sh- master:t/t9903-bash-prompt.sh-if test_have_prereq !MINGW && mkdir "$repo_with_newline" 2>/dev/null master:t/t9903-bash-prompt.sh-then master:t/t9903-bash-prompt.sh: test_set_prereq FUNNYNAMES How am I supposed to check this, then?
As far as I can tell from a *really* cursory glance, this is the only affected test case. Apparently your prereq catches, somehow, on Windows: 2018-04-18T11:12:43.0459702Z Your filesystem does not allow \ and " in filenames. 2018-04-18T11:12:43.0459823Z skipped: complete files - C-style escapes in ls-files output (missing FUNNYNAMES_BS_DQ)