# New Ticket Created by Andy Dougherty
# Please include the string: [perl #45201]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=45201 >
I stumbled upon this one while trying 'Configure.pl --test'. My default
system perl is unsuitable for building parrot. I just specify the full
path to the perl I actually want to use, and everything just works.
Well, almost. lib/Parrot/Configure/Options/Test.pm calls a plain
'prove', and I don't have the correct perl's 'prove' command in my $PATH.
This simple patch ensures that the 'prove' command called is the one
associated with this version of perl.
diff -r -u parrot-current/lib/Parrot/Configure/Options/Test.pm
parrot-andy/lib/Parrot/Configure/Options/Test.pm
--- parrot-current/lib/Parrot/Configure/Options/Test.pm Mon Sep 3 15:49:16 2007
+++ parrot-andy/lib/Parrot/Configure/Options/Test.pm Wed Sep 5 12:11:18 2007
@@ -3,6 +3,8 @@
package Parrot::Configure::Options::Test;
use strict;
use warnings;
+use Config; # to find the correct $Config{scriptdir}/prove
+use File::Spec; # to construct the path to the correct 'prove'
our @preconfiguration_tests = qw(
t/configure/*.t
@@ -38,7 +40,9 @@
my $self = shift;
if ($self->{run_configure_tests}) {
print "As you requested, we'll start with some tests of the
configuration tools.\n\n";
- system(qq{prove @preconfiguration_tests})
+ # Find the 'prove' command associated with *this* version of perl.
+ my $prove = File::Spec->catfile($Config{'scriptdir'} , 'prove');
+ system(qq{$prove @preconfiguration_tests})
and die "Pre-configuration tests did not complete successfully;
Configure.pl will not continue.";
print <<"TEST";
@@ -55,7 +59,8 @@
if ($self->{run_build_tests}) {
print "\n\n";
print "As you requested, I will now run some tests of the build
tools.\n\n";
- system(qq{prove @postconfiguration_tests})
+ my $prove = File::Spec->catfile($Config{'scriptdir'} , 'prove');
+ system(qq{$prove @postconfiguration_tests})
and die "Post-configuration and build tools tests did not complete
successfully; running 'make' might be dubious.";
}
return 1;
--
Andy Dougherty [EMAIL PROTECTED]