Subject: | File::Flat tests assume wrong things about Win32 file systems |
This is a partial analysis of #21553, the cygwin failures.
The tests 64 to 67 fail because of the wrong assumption that unix
filemodes have relevancy on Win32. The following change to 01_main.t
fixes these failures for me on a real Win32 Perl, but I don't have a
cygwin Perl to check against it:
SKIP: {
diag $^O;
if ($^O eq "MSWin32") {
skip "Win32 file systems don't know about +x", 4;
} else {
ok( File::Flat->canExecute( $f{rwX} ), "Static ->canExecute
returns true for mode 100 file" );
ok( ! File::Flat->canExecute( $f{RWx} ), "Static ->canExecute
returns false for mode 500 file" );
ok( File::Flat->canExecute( $f{RwX} ), "Static ->canExecute
returns true for mode 300 file" );
ok( File::Flat->canExecute( $f{RWX} ), "Static ->canExecute
returns true for mode 700 file" );
}
};
With that change, I still get 12 errors relating to directories, and I
assume that these are wrong assumptions about being able to unlink()
directories in which open files still exist, but I haven't tracked these
down.
Hope that helps,
-max