Subject: | quoting bug on cygwin, TAP::Parser::Source::Perl |
make && make test fails for Test::Harness 3.09 on cygwin if the build
path contains spaces (see attachment). Paths with spaces get wrapped in
an extra layer of double quotes, which makes the open3() call in
TAP::Parser::Iterator::Process::new() fail.
The attached patch skips the problematic quoting for cygwin. System
info attached also.
Subject: | test-harness.patch |
diff -u -r Test-Harness-3.09/lib/TAP/Parser/Source/Perl.pm Test-Harness-3.09-new/lib/TAP/Parser/Source/Perl.pm
--- Test-Harness-3.09/lib/TAP/Parser/Source/Perl.pm 2008-02-09 17:25:10.000000000 -0600
+++ Test-Harness-3.09-new/lib/TAP/Parser/Source/Perl.pm 2008-02-18 16:12:34.400911200 -0600
@@ -4,6 +4,7 @@
use Config;
use vars qw($VERSION @ISA);
+use constant IS_CYGWIN => ( $^O eq 'cygwin' );
use constant IS_WIN32 => ( $^O =~ /^(MS)?Win32$/ );
use constant IS_VMS => ( $^O eq 'VMS' );
@@ -257,8 +258,9 @@
# Quote the argument if there's any whitespace in it, or if
# we're VMS, since VMS requires all parms quoted. Also, don't quote
- # it if it's already quoted.
+ # it if it's already quoted, or if the platform is cygwin.
for (@switches) {
+ next if IS_CYGWIN;
$_ = qq["$_"] if ( ( /\s/ || IS_VMS ) && !/^".*"$/ );
}
Subject: | test-harness.out |
Message body not shown because it is not plain text.
Subject: | system.txt |
% uname -a
CYGWIN_NT-5.1 JOHNT-XP 1.5.25(0.156/4/2) 2007-12-14 19:21 i686 Cygwin
% perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=cygwin, osvers=1.5.24(0.15642), archname=cygwin-thread-multi-64int
uname='cygwin_nt-5.1 reini 1.5.24(0.15642) 2007-01-31 10:57 i686 cygwin '
config_args='-de -Dmksymlinks -Duse64bitint -Dusethreads -Uusemymalloc -Doptimize=-O3 -Dman3ext=3pm -Dusesitecustomize -Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -Wdeclaration-after-statement',
optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -Wdeclaration-after-statement'
ccversion='', gccversion='3.4.4 (cygming special, gdc 0.12, using dmd 0.125)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='ld2', ldflags =' -s -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib /lib
libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-ldl -lcrypt -lgdbm_compat
libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' -s'
cccdlflags=' ', lddlflags=' -s -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API USE_SITECUSTOMIZE
Locally applied patches:
CYG01 - hints.cygwin.sh ldflags -s
CYG02 - lib-ExtUtils-Embed insensitive against leading \s
CYG03 - lib-Test-Harness-Straps $ENV{PERL5LIB} = ''
CYG04 - major.version.cygwin.sh cygperl-5_8.dll and not cygperl-5_8_x.dll
CYG05 - add Win32CORE to core
CYG07 - File-Spec-Cygwin-TMPDIR.patch
Bug#38628 - allow legacy Cwd->cwd()
Bug#40103 - File-Spec-case_tolerant.patch from 5.9.5
Built under cygwin
Compiled at Jul 8 2007 19:12:08
%ENV:
CYGWIN="server"
@INC:
/usr/lib/perl5/5.8/cygwin
/usr/lib/perl5/5.8
/usr/lib/perl5/site_perl/5.8/cygwin
/usr/lib/perl5/site_perl/5.8
/usr/lib/perl5/site_perl/5.8
/usr/lib/perl5/vendor_perl/5.8/cygwin
/usr/lib/perl5/vendor_perl/5.8
/usr/lib/perl5/vendor_perl/5.8
.