Problem: tests: Test_glob_symlinks() fails with UCRT on Windows.
For Test_glob_symlinks() to succeed, vim_stat() (which is actually mswin_stat_impl()) must fail on broken symlinks. However, in this case, the UCRT's _wstat() is used, and it succeeds on the broken symlinks. As a result, Test_glob_symlinks() fails.
Solution: Don't use UCRT's _wstat()
Note: The current Windows CI uses MSVCRT, which does not address this issue. To use UCRT, we need to install Windows Kits 10 or later if you are using MSVC. Also, in an MSYS2 environment, we need to set MSYSTEM=UCRT64.
https://github.com/vim/vim/pull/18962
(1 file)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Ähm, shouldn't we skip the test when UCRT is defined? It seems wrong to remove _stat() just because it is able to handle broken symlinks.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
shouldn't we skip the test when UCRT is defined? It seems wrong to remove _stat() just because it is able to handle broken symlinks.
I don't think so.
Because, the remaining code in mswin_stat_impl() that directly uses the Win32API works correctly not only in MSVCRT but also in UCRT.
It would be better to add UCRT tests to CI matrix.
I'll try adding UCRT to the CI matrix later.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()