develooper Front page | perl.perl5.porters | Postings from December 2008

Re: Smoke [5.11.0] 35106 FAIL(F) MSWin32 WinXP/.Net SP3 (x86/2 cpu)

Thread Previous
From:
Ben Morrow
Date:
December 16, 2008 10:31
Subject:
Re: Smoke [5.11.0] 35106 FAIL(F) MSWin32 WinXP/.Net SP3 (x86/2 cpu)
Message ID:
fi7l16-g6a.ln1@osiris.mauzo.dyndns.org

Quoth jos@dwim.org ("Jos I. Boumans"):
> 
> On Dec 16, 2008, at 12:26 PM, Steve Hay wrote:
> 
> > Yes, that's with my fix. The failures are not related to the PerlIO
> > "failure" (which is actually a passed TODO, which Test::Smoke wrongly
> > shows as a FAIL whenever anything else fails), but are actually caused
> > by my smoke environment having a Cygwin bin/ folder in its PATH (used
> > for the rsync). The Archive::Extract tests therefore picked up some
> > binaries (tar, gzip, etc.) that weren't available in my PATH when I  
> > was
> > testing manually, and it seems that these Cygwin binaries don't work
> > nicely in a DOS window.
> 
> Thanks for looking into this. This is a very unfortunate 'make test'
> failure, as it's a common set up for Win32 users to have cygwin in
> their path.
> 
> Unfortunately, i dont see a reliable way to detect this, let alone
> 'fix it' so users aren't affected by this... 'feature'.

Well, an obvious suggestion is to reject any binary in a cygwin\bin
directory if this is a Win32 perl (or, perhaps, any cygwin\bin\tar.exe,
if it's only tar that behaves like this). It won't catch every Cygwin
installation, and it may (unlikely) catch some things that aren't
Cygwin, but since Archive::Extract is a 'best-effort' module in any case
that doesn't really matter, does it?

> > C:\cygwin\bin\tar.EXE -xf
> > C:\p5p\BLEADP~1\lib\Archive\Extract\t\src\y.tar
> >
> > which causes an error from the Cygwin binary:
> >
> > C: Unknown Host
> > /usr/bin/tar: C\:\\p5p\\BLEADP~1\\lib\\Archive\\Extract\\t\\src\ 
> > \y.tar:
> > Cannot open: Input/Output error
> > /usr/bin/tar: Error is not recoverable: exiting now
> >
> > I tried various other combinations (forward slashes instead of
> > backslashes, "long pathnames" instead of "short pathnames" (i.e.
> > "bleadperl" instead of "BLEADP~1"), but nothing works other than the
> > insane /cygdrive nonsense:

Did you try \\?\C:\p5p\... or whatever that weird Unicode-supporting
syntax is? I presume the problem is that tar thinks C:\p5p\... is a
host:/tape/device specification, and you just need to persuade it it
isn't.

Ben


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About