Re: [rt.cpan.org #66751] make test fails on cygwin

[email protected] ("Reini Urban via RT")
Newsgroups perl.libwin32
Message-ID <[email protected]>
Thu Mar 24 04:55:58 2011: Request 66751 was acted upon.
Transaction: Correspondence added by [email protected]
       Queue: Win32
     Subject: Re: [rt.cpan.org #66751] make test fails on cygwin
   Broken in: 0.44
    Severity: Normal
       Owner: Nobody
  Requestors: [email protected]
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=66751 >


Brian Minton via RT schrieb:
> # Test 4 got: "Foo \x{394}\x{419} Bar \x{5E7}\x{645} Baz\\xyzzy
> \x{394}\x{419} plugh \x{5E7}\x{645}" (t/Unicode.t at line 51)
> #   Expected:<UNDEF>
> #  t/Unicode.t line 51 is:     ok($file,
> Win32::GetLongPathName("$dir\\$_"));
> t/Unicode.t ...................

Wrong test, cygwin-1.7 does unicode paths not just ascii.
attached is my core patch from cygwin branch on github
-- 
Reini Urban
ok-cygwin-utf8-test.patch (text/x-patch, 846 B)
diff --git a/cpan/Win32/t/Unicode.t b/cpan/Win32/t/Unicode.t
index 3570142..7ab8a6f 100644
--- a/cpan/Win32/t/Unicode.t
+++ b/cpan/Win32/t/Unicode.t
@@ -1,6 +1,7 @@
 use strict;
 use Test;
 use Cwd qw(cwd);
+use Config qw(%Config);
 use Win32;
 
 BEGIN {
@@ -44,11 +45,13 @@ ok(-d Win32::GetANSIPathName($dir));
 Win32::CreateFile($file);
 ok(-f Win32::GetANSIPathName($file));
 
-# readdir() returns ANSI form of Unicode filename
+# readdir() returns ANSI form of Unicode filename,
+# but on cygwin-1.7 the utf-8 form.
 ok(opendir(my $dh, Win32::GetANSIPathName($dir)));
 while ($_ = readdir($dh)) {
     next if /^\./;
-    ok($file, Win32::GetLongPathName("$dir\\$_"));
+    skip($^O eq 'cygwin' and $Config{osvers} ge "1.7" ? "do not test cygwin utf8 readdir()" : 0,
+         $file, Win32::GetLongPathName("$dir\\$_"));
 }
 closedir($dh);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.