-
Notifications
You must be signed in to change notification settings - Fork 567
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
Win32: File::Path fails tests in non-threaded builds on smoke testing #15244
Comments
From @tonycozhttp://www.nntp.perl.org/group/perl.daily-build.reports/2016/03/msg189801.html |
From @tonycozOn Mon Mar 21 17:18:59 2016, tonyc wrote:
This seems to come down to a difference between Win2k (which is what the smoker runs on) and more modern versions of Windows. It only fails on non-threaded builds, because threaded builds have USE_IMP_SYS enabled, which on Win32 emulates a thread-local current directory. I've asked George (who runs the smoker) to test a simple program that exercises the APIs that seem to differ in behaviour (attached). This behaves the same way on Windows XP and Windows 7: J:\dev\perl\git>cl curdir.c curdir.c /out:curdir.exe J:\dev\perl\git>curdir j:\dev J:\dev\perl\git>curdir \\?\j:\dev Tony |
From @tonycoz#include <windows.h>
#include <stdio.h>
int main(int argc, char **argv) {
DWORD r;
char p[MAX_PATH];
DWORD len;
if (argc != 2) {
fprintf(stderr, "Usage: %s directoryname\n", argv[0]);
return 1;
}
if (!SetCurrentDirectoryA(argv[1])) {
fprintf(stderr, "SCD failed: %lx\n", GetLastError());
return 1;
}
len = GetCurrentDirectory(sizeof(p), p);
if (!len) {
fprintf(stderr, "GCD failed: %lx\n", GetLastError());
return 1;
}
printf("Current directory now '%s'\n", p);
r = GetFileAttributesA(".");
if (r == 0xffffffff) {
fprintf(stderr, "GFA failed: %lx\n", GetLastError());
return 1;
}
printf("Attributes %lx\n", r);
return 0;
} |
From @tonycozOn Mon Mar 28 17:17:38 2016, tonyc wrote:
From George, the results on his smoke box were: D:\tmp>curdir d:\smoke D:\tmp>curdir \\?\d:\smoke Since I output the error in hex, that's 53: // So it looks like a Win2k issue. I've pushed a smoke branch to skip that test on Windows 2000. I don't think it's worth fixing for such an old system. Tony |
From @tonycozOn Tue Mar 29 21:50:01 2016, tonyc wrote:
Now in blead with appropriate bookkeeping in Porting/Maintainers.pl and customized.dat. Upstream as rpcme/File-Path#34 Tony |
@tonycoz - Status changed from 'new' to 'pending release' |
From @khwilliamsonThank you for submitting this report. You have helped make Perl better. Perl 5.24.0 may be downloaded via https://metacpan.org/release/RJBS/perl-5.24.0 |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#127760 (status was 'resolved')
Searchable as RT127760$
The text was updated successfully, but these errors were encountered: