Skip Menu |

This queue is for tickets about the Test-Harness CPAN distribution.

Report information
The Basics
Id: 98310
Status: new
Priority: 0/
Queue: Test-Harness

People
Owner: Nobody in particular
Requestors: richard.matyas [...] barclays.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: bug in Test::Harness
Date: Mon, 25 Aug 2014 16:09:56 +0100
To: <bug-test-harness [...] rt.cpan.org>
From: <richard.matyas [...] barclays.com>
Under Windows, regression.t crashes with '""C:\Program' is not recognized as an internal or external command, operable program or batch file. This is because Perl in Windows sits in a path containing a whitespace. TAP::Parser::Iterator::Process::_initialize(blib/lib/TAP/Parser/Iterator/Process.pm:174): $ = TAP::Parser::Iterator::Process::_initialize(ref(TAP::Parser::Iterator::Process), ref(HASH)) called from file `blib/lib/TAP/Object.pm' line 55 $ = TAP::Object::new('TAP::Parser::Iterator::Process', ref(HASH)) called from file `blib/lib/TAP/Parser/SourceHandler/Perl.pm' line 251 $ = TAP::Parser::SourceHandler::Perl::_create_iterator('TAP::Parser::SourceHandler::Perl', ref(TAP::Parser::Source), ref(ARRAY), ref(CODE), ref(CODE)) called from file `blib/lib/TAP/Parser/SourceHandler/Perl.pm' line 245 $ = TAP::Parser::SourceHandler::Perl::_run('TAP::Parser::SourceHandler::Perl', ref(TAP::Parser::Source), ref(ARRAY), ref(ARRAY)) called from file `blib/lib/TAP/Parser/SourceHandler/Perl.pm' line 151 $ = TAP::Parser::SourceHandler::Perl::make_iterator('TAP::Parser::SourceHandler::Perl', ref(TAP::Parser::Source)) called from file `blib/lib/TAP/Parser/IteratorFactory.pm' line 217 $ = TAP::Parser::IteratorFactory::make_iterator(ref(TAP::Parser::IteratorFactory), ref(TAP::Parser::Source)) called from file `blib/lib/TAP/Parser.pm' line 470 $ = TAP::Parser::_initialize(ref(TAP::Parser), ref(HASH)) called from file `blib/lib/TAP/Object.pm' line 55 $ = TAP::Object::new('TAP::Parser', ref(HASH)) called from file `t\regression.t' line 3292 $ = main::analyze_test('bailout', ref(ARRAY), ref(HASH)) called from file `t\regression.t' line 3234 $ = eval {...} called from file `t\regression.t' line 3234 The issue is that the $command is double quoted twice, from TAP::Parser::SourceHandler::Perl sub get_perl, second time TAP::Parser::Iterator::Process sub _initialize line 173. Diff fixing this: Left file: C:\Users\matyasri\AppData\Local\Temp\p4v\PRGDWM355436_qaperforce_1666\depot\QA\Toolbox\main.br\CPAN\Test-Harness\3.33\src\lib\TAP\Parser\Iterator\Process#1.pm Right file: C:\Users\matyasri\AppData\Local\Temp\p4v\PRGDWM355436_qaperforce_1666\depot\QA\Toolbox\main.br\CPAN\Test-Harness\3.33\src\lib\TAP\Parser\Iterator\Process#2.pm 171a172,173 Show quoted text
> > # double quote items containing whitespace and no double quotes
173c175 < = join( ' ', map { $_ =~ /\s/ ? qq{"$_"} : $_ } @command ); --- Show quoted text
> = join( ' ', map { $_ =~ /^[^"]*\s[^"]*$/ ? qq{"$_"} : $_ } @command );
Show quoted text
_______________________________________________ This message is for information purposes only, it is not a recommendation, advice, offer or solicitation to buy or sell a product or service nor an official confirmation of any transaction. It is directed at persons who are professionals and is not intended for retail customer use. Intended for recipient only. This message is subject to the terms at: www.barclays.com/emaildisclaimer. For important disclosures, please see: www.barclays.com/salesandtradingdisclaimer regarding market commentary from Barclays Sales and/or Trading, who are active market participants; and in respect of Barclays Research, including disclosures relating to specific issuers, please see http://publicresearch.barclays.com.
_______________________________________________