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
Test failures on Windows with 8.3 filenames disabled #16804
Comments
From @steve-m-hayCreated by @steve-m-hayIf I run the test suite on my C: drive then all tests pass, but on my Test Summary Report The difference seems to be that 8.3 filenames are disabled on my D: D:\Dev\Git\perl>fsutil 8dot3name query C: Based on the above settings, 8dot3 name creation is enabled on C: D:\Dev\Git\perl>fsutil 8dot3name query D: Based on the above settings, 8dot3 name creation is disabled on D: However, modifying the test scripts to check this for themselves isn't D:\Dev\Git\perl>fsutil 8dot3name query C: D:\Dev\Git\perl>fsutil 8dot3name query D: It is possible to query the registry, but if (as on my system) the D:\Dev\Git\perl>reg query HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem This just tells me that the setting is per-volume. I'm not sure where There is information about this online, of course, e.g. see the https://support.microsoft.com/en-gb/help/121007/how-to-disable-8-3-file-name-creation-on-ntfs-partitions In the meantime perhaps it would be wise to at least add a note to Perl Info
|
From rich@hyphen-dash-hyphen.infoOn Mon, Jan 7, 2019 at 1:37 PM Steve Hay (via RT)
Hi Steve, The per-volume setting doesn't appear to be stored in the Registry There are a few online discussions where people advise using [1] https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ntifs/ns-ntifs-_file_fs_persistent_volume_information HTH, |
The RT System itself - Status changed from 'new' to 'open' |
From rich@hyphen-dash-hyphen.infoOn Thu, Apr 4, 2019 at 8:54 PM Richard Leach
Just noticed that this is also mentioned in a pending pull request: |
From @steve-m-hayThis may also be the cause of #121461. |
From [Unknown Contact. See original ticket]This may also be the cause of #121461. |
From rich@hyphen-dash-hyphen.infoOn Thu, Apr 4, 2019 at 9:02 PM Richard Leach
Coming back to this, is the ideal approach here (1) wchristian's patch Asking 'cos if not (1), then I'm prepared to have a go at it. Thanks, |
From @steve-m-hayOn Sat, 25 May 2019 15:35:50 -0700, rich@hyphen-dash-hyphen.info wrote:
All 3? ;-) (3) would be useful to decide which test to perform in GetShortPathName.t (i.e. do the current test if 8.3 is supported, change to the simplified test in wchristian's patch if not). |
From rich@hyphen-dash-hyphen.infoOn Fri, May 31, 2019 at 8:48 PM Steve Hay via RT
Unsatisfactory results here. I've got XS code that allows elevated Doesn't work for non-elevated users though. Via WinObj, EVERYONE has: But although that seems like it should be sufficient, it isn't, and via perlbug: queue: perl5 status: open |
From rich@hyphen-dash-hyphen.infoOn Sun, Jun 9, 2019 at 11:04 PM Richard Leach
How about the attached simple approach? DWIMs in both 8dot3name via perlbug: queue: perl5 status: open |
From rich@hyphen-dash-hyphen.infouse strict; my plan tests => 5; Win32::CreateFile($path); my $short_disabled = 'Current volume does not support short path names'; ok(-f $path); my $short = Win32::GetShortPathName($path); unlink($path); |
From @steve-m-hayOn Fri, 14 Jun 2019 15:20:22 -0700, rich@hyphen-dash-hyphen.info wrote:
Yes, that works for me. |
From rich@hyphen-dash-hyphen.infoOn Wed, Jun 19, 2019 at 1:38 PM Steve Hay via RT
Thanks. I'll look into whether the same sort of logic can be used to Maybe EUMM too, if it rains at the weekend. ;-) via perlbug: queue: perl5 status: open |
From @steve-m-hayOn Wed, 19 Jun 2019 16:12:13 -0700, rich@hyphen-dash-hyphen.info wrote:
Thanks! Don't forget that changes to these CPAN module test scripts need to be sent upstream to their respective module maintainers. It would be great to get fixes checked in to new releases of those distros, and then we can pull them into blead. |
From rich@hyphen-dash-hyphen.infoOn Thu, Jun 20, 2019 at 8:10 AM Steve Hay via RT
Steve, Are those EUMM tests still failing for you with blead? They pass for I've added a comment to wchristian's pull request on win32 for Couldn't see an easy fix for Unicode.t, without really fixing Unicode Cheers, via perlbug: queue: perl5 status: open |
From @steve-m-hayOn Sun, 23 Jun 2019 at 23:10, Richard Leach
Yes, they still fail for me (on Win10 D:\ with 8.3 disabled, using
# Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' # Failed test 'Makefile.PL exited with zero' Test Summary Report ../cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t (Wstat: 2048 Tests: 54 Failed: 8) |
From rich@hyphen-dash-hyphen.infoOn Mon, Jun 24, 2019 at 5:38 PM Steve Hay <steve.m.hay@googlemail.com> wrote:
Ah, ok. I'm having trouble building with a freshly downloaded copy of |
Updated some comments on Mithaldu's PR in perl-libwin32/win32#12 for skipping GetShortPathName.t and Unicode.t tests in the absence of short name support. |
@steve-m-hay Just completed a fresh test run against blead and didn't get failures in /cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t with Mingw-64. Are you still seeing them with MSVC? |
Oh, wait. Just remembered, may relate to quote_dep() in MM_Win32.pm, so I wouldn't see it with gmake anyway. |
On Mon, 24 Feb 2020 at 00:29, Richard Leach ***@***.***> wrote:
@steve-m-hay <https://github.com/steve-m-hay> Just completed a fresh test
run against blead and didn't get failures in
/cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t with Mingw-64. Are you still
seeing them with MSVC?
Yes, I still get failures in at least
cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t, cpan/Win32/t/GetShortPathName.t
and cpan/Win32/t/Unicode.t.
|
Steve's above 02-xsdynamic.t errors come from MM_Win32.pm's "type map" comes from MakeMaker::Test::Setup::XS, which will actually remove the space if the make flavour cannot handle spaces (
MM_Win32.pm always assumes that short path support will be present:
So resolving these test errors might be as straightforward of revising MM_Win32.pm's
@steve-m-hay - do you have time to quickly test this idea? Otherwise, I'll try to get an nmake test environment built. |
Good news: Got a MSVC build working.
$MM is a PACK001 object and $MM->can_dep_space:
I see from EUMM's MakeMaker object hierarchy (real) that here be dragons... Edit: Probable PEBKAC, trying a fresh build. |
Confirmed that the suggested fix for 02-dynamic.t does work. Upstream PR at Perl-Toolchain-Gang/ExtUtils-MakeMaker#351 |
Currently known test failures due to 8dot3filename support being disabled should be fixed in the next stable perl release via:
|
Migrated from rt.perl.org#133754 (status was 'open')
Searchable as RT133754$
The text was updated successfully, but these errors were encountered: