=== Changes
==================================================================
--- Changes (revision 4319)
+++ Changes (local)
@@ -5,7 +5,11 @@
* Added test straps overload via HARNESS_STRAP_OVERLOAD environment
variable. prove now takes a --strap=class parameter. Thanks,
Adam Kennedy.
+ * prove --debug now shows what perl it will run the tests with.
+ [FIXES]
+ * prove's --perl argument now works.
+
2.63_01 Fri Jun 30 16:59:50 CDT 2006
[ENHANCEMENTS]
* Failed tests used to say "NOK x", and now say "NOK x/y".
=== bin/prove
==================================================================
--- bin/prove (revision 4319)
+++ bin/prove (local)
@@ -37,7 +37,7 @@
'H|man' => sub {pod2usage({-verbose => 2}); exit},
'I=s@' => \@includes,
'l|lib' => \$lib,
- 'perl' => \$ENV{HARNESS_PERL},
+ 'perl=s' => \$ENV{HARNESS_PERL},
'r|recurse' => \$recurse,
's|shuffle' => \$shuffle,
't' => sub { unshift @switches, "-t" }, # Always want -t up front
@@ -71,7 +71,13 @@
# Build up TH switches
push( @switches, map { /\s/ && !/^".*"$/ ? qq["-I$_"] : "-I$_" } @includes );
$Test::Harness::Switches = join( " ", @switches );
-print "# \$Test::Harness::Switches: $Test::Harness::Switches\n" if $Test::Harness::debug;
+if( $Test::Harness::debug ) {
+ my $perl = $ENV{HARNESS_PERL} || $^X;
+ print <<"END_OF_DEBUG";
+# \$Test::Harness::Switches: $Test::Harness::Switches
+# perl to run tests: $perl
+END_OF_DEBUG
+}
@ARGV = File::Spec->curdir unless @ARGV;
my @argv_globbed;
=== t/prove-switches.t
==================================================================
--- t/prove-switches.t (revision 4319)
+++ t/prove-switches.t (local)
@@ -18,7 +18,7 @@
#
http://rt.perl.org/rt3/Ticket/Display.html?id=30952.
plan skip_all => "Skipping because of a Cygwin bug" if ( $^O =~ /cygwin/i );
-plan tests => 5;
+plan tests => 6;
my $blib = File::Spec->catfile( File::Spec->curdir, "blib" );
my $blib_lib = File::Spec->catfile( $blib, "lib" );
@@ -28,43 +28,61 @@
CAPITAL_TAINT: {
local $ENV{PROVE_SWITCHES};
- local $/ = undef;
my @actual = qx/$prove -Ifirst -D -I second -Ithird -Tvdb/;
- my @expected = ( "# \$Test::Harness::Switches: -T -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n" );
+ my @expected = (
+ "# \$Test::Harness::Switches: -T -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n",
+ "# perl to run tests: $^X\n"
+ );
is_deeply( \@actual, \@expected, "Capital taint flags OK" );
}
LOWERCASE_TAINT: {
local $ENV{PROVE_SWITCHES};
- local $/ = undef;
my @actual = qx/$prove -dD -Ifirst -I second -t -Ithird -vb/;
- my @expected = ( "# \$Test::Harness::Switches: -t -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n" );
+ my @expected = (
+ "# \$Test::Harness::Switches: -t -I$blib_arch -I$blib_lib -Ifirst -Isecond -Ithird\n",
+ "# perl to run tests: $^X\n"
+ );
is_deeply( \@actual, \@expected, "Lowercase taint OK" );
}
PROVE_SWITCHES: {
local $ENV{PROVE_SWITCHES} = "-dvb -I fark";
- local $/ = undef;
my @actual = qx/$prove -Ibork -Dd/;
- my @expected = ( "# \$Test::Harness::Switches: -I$blib_arch -I$blib_lib -Ifark -Ibork\n" );
+ my @expected = (
+ "# \$Test::Harness::Switches: -I$blib_arch -I$blib_lib -Ifark -Ibork\n",
+ "# perl to run tests: $^X\n"
+ );
is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" );
}
PROVE_SWITCHES_L: {
- local $/ = undef;
-
my @actual = qx/$prove -l -Ibongo -Dd/;
- my @expected = ( "# \$Test::Harness::Switches: -Ilib -Ibongo\n" );
+ my @expected = (
+ "# \$Test::Harness::Switches: -Ilib -Ibongo\n",
+ "# perl to run tests: $^X\n"
+ );
is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" );
}
PROVE_SWITCHES_LB: {
- local $/ = undef;
-
my @actual = qx/$prove -lb -Dd/;
- my @expected = ( "# \$Test::Harness::Switches: -Ilib -I$blib_arch -I$blib_lib\n" );
+ my @expected = (
+ "# \$Test::Harness::Switches: -Ilib -I$blib_arch -I$blib_lib\n",
+ "# perl to run tests: $^X\n"
+ );
is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" );
}
+
+
+PROVE_SWITCHES_PERL: {
+ my @actual = qx/$prove --perl=wibble -Dd/;
+ my @expected = (
+ "# \$Test::Harness::Switches: \n",
+ "# perl to run tests: wibble\n"
+ );
+ is_deeply( \@actual, \@expected, "PROVE_SWITCHES OK" );
+}