Re: v2.25.0-rc0 test failure on cygwin
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Jun 3, 2025, 19:03 UTC
- Message-ID
- <780f09cb-5399-4256-91ca-d93a553540c0@ramsayjones.plus.com>
- In-Reply-To
- <xmqq5xhcpzyp.fsf@gitster.g>
On 03/06/2025 17:11, Junio C Hamano wrote:
> Ramsay Jones <ramsay@ramsayjones.plus.com> writes: >
[snip]
Show 7 quoted lines
>> A quick squint at the failing tests made it clear that the failure was >> caused by the cygwin build treating a quoted glob character sequence >> (e.g. '\*') as a directory separator char followed by a glob character. > > Should we revert ec727e18 (dir.c: literal match with wildcard in > pathspec should still glob, 2025-05-03) before deciding to how to > proceed, as we will be deep in prerelease freeze?
Heh, that decision is above my pay grade! :)
BTW, I realized earlier today why we had not seen any CI failures on windows (yes I'm a bit slow on the uptake!); the test has this conditional at the top:
test_have_prereq FUNNYNAMES || {
skip_all='skipping: needs FUNNYNAMES (non-Windows only)'
test_done
}And FUNNYNAMES (as indicated) is set on MINGW/Gfw, but not cygwin. (cygwin can cope with many 'funny' filenames, but it can't change the use of '\' as a win32 directory separator).
> It's not a "fix" for something that is gravely wrong but a glitch > people have lived with almost forever, so it can be reattempted in > the next cycle without hurting much.
The POSIX/win32 pathname syntax 'issue' is not going away anytime soon, so I suspect that just skipping these tests (or the entire test file ala Gfw) is probably the best it gets. ;)
[see Patrick's commit 5f8af25ff9 (t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin, 2024-10-16), which had been failing from v2.25.0-rc0 (25 Dec 2019) to v2.48.0-rc0 (16 Dec 2024), which was actually caused by a commit which started allowing a win32 drive 'letter' to be an multi-byte UTF8 Unicode char! :) ]
Thanks.
ATB, Ramsay Jones