-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpan/Win32: import PR 39 #22393
cpan/Win32: import PR 39 #22393
Conversation
perl-libwin32/win32#37 was submitted in June 2022, it fixes a bug that causes tests to fail for Win32.pm for 32-bit builds on windows, including in perl (and in 5.40.) Jan requested a minor change to that PR which wasn't followed up on, so I submitted perl-libwin32/win32#39 which includes that requested change in August 2023. This still hasn't been acted on. So import this change into blead.
I don't have access to, or good knowledge of, Win32, but I'm willing to trust @tonycoz on this. Question: do we have access to any machine that can give us before/after test results once this p.r. is merged? |
Good question. I think we can pretty much take it for granted that this PR is not going to do anything to alter the behaviour of the 32-bit builds on my system - but I tested this PR last night anyway, just to be sure. Since I seem to be insulated from this problem, there's probably not much more I can do. |
This is the problem I see:
It doesn't happen in a privileged shell, which I suspect is why it doesn't happen if I add an x86-32 Win32 build to CI. This was VS2019, but I've see it in VS2022, tried to track it down and found the already open bug (and fix). Are your builds in an admin shell? |
No, and $Config{d_symlink} is defined. From previous experience, I think there is a way of configuring the capability of creating symlinks on this system (without running with admin privileges). In any case, it seems that the problem has now been fixed, and proven to be fixed. |
The way you allow normal users to create symlinks on a sufficiently recent Windows is to enable developer mode. (Control Panel, Updates and Security, For developers, Developer mode) I suspect in your case you have developer mode disabled, so the test correctly detects symlinks are disabled (because it always detects symlinks as disabled on 32-bit), and successfully tests that symlinks are disabled, by failing to create a symlink. Without the fix, the developer mode test is broken and detects developer mode is disabled when it is enabled, tries to create a symlink to check that symlinks are disabled, but successfully creates one, failing the test. |
Thanks @tonycoz. |
Does my fix allow the test to pass for you on 32-bit? (git fetch origin pull/22393/head:fix-win32-priv ; git checkout fix-win32-priv ; ... test) |
Yes, |
perl-libwin32/win32#37 was submitted in June 2022, it fixes a bug that causes tests to fail for Win32.pm for 32-bit builds on windows, including in perl (and in 5.40.)
Jan requested a minor change to that PR which wasn't followed up on, so I submitted perl-libwin32/win32#39 which includes that requested change in August 2023.
This still hasn't been acted on.
So import this change into blead.