test: Windows not detected in msys shells #22671

Problem:
The functional tests have `is_os(s)` to determine if the current os is.
E.g. `is_os("win")` returns true if the current os is Windows. This is
done by checking if the sysname as detected by luv contains the
substring 'windows'.  In MSYS shells, the sysname is looks like
MINGWXX_NT, where XX is either 32 or 64.  So if you're using busted or
luv that you built separately, not the nvim-bundled versions, then
`is_os(s)` won't work.

Solution:
Treat sysname containing "mingw" as Windows.
This commit is contained in:
Enan Ajmain 2023-03-15 17:17:30 +06:00 committed by GitHub
parent d1e0f7454b
commit d4e2bfbe9c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -312,7 +312,7 @@ function module.is_os(s)
or s == 'bsd') then
error('unknown platform: '..tostring(s))
end
return not not ((s == 'win' and module.sysname():find('windows'))
return not not ((s == 'win' and (module.sysname():find('windows') or module.sysname():find('mingw')))
or (s == 'mac' and module.sysname() == 'darwin')
or (s == 'freebsd' and module.sysname() == 'freebsd')
or (s == 'openbsd' and module.sysname() == 'openbsd')