# -*- Mode: cperl; cperl-indent-level: 4 -*-
-# $Id: Straps.pm,v 1.13 2002/06/19 21:01:04 schwern Exp $
+# $Id: Straps.pm,v 1.16 2003/02/02 05:27:44 schwern Exp $
package Test::Harness::Straps;
sub _init {
my($self) = shift;
- $self->{_is_vms} = $^O eq 'VMS';
+ $self->{_is_vms} = $^O eq 'VMS';
+ $self->{_is_win32} = $^O eq 'Win32';
}
=end _private
$totals{skip_all} = $self->{skip_all} if defined $self->{skip_all};
- my $passed = !$totals{max} ||
- ($totals{max} && $totals{seen} &&
- $totals{max} == $totals{seen} &&
- $totals{max} == $totals{ok});
+ my $passed = ($totals{max} == 0 && defined $totals{skip_all}) ||
+ ($totals{max} && $totals{seen} &&
+ $totals{max} == $totals{seen} &&
+ $totals{max} == $totals{ok});
$totals{passing} = $passed ? 1 : 0;
return %totals;
$totals->{ok}++ if $pass;
- if( $result{number} > 100000 ) {
+ if( $result{number} > 100000 && $result{number} > $self->{max} ) {
warn "Enormous test number seen [test $result{number}]\n";
warn "Can't detailize, too big.\n";
}
local $ENV{PERL5LIB} = $self->_INC2PERL5LIB;
- # Is this necessary anymore?
- my $cmd = $self->{_is_vms} ? "MCR $^X" : $^X;
+ my $cmd = $self->{_is_vms} ? "MCR $^X" :
+ $self->{_is_win32} ? Win32::GetShortPathName($^X)
+ : $^X;
my $switches = $self->_switches($file);
$self->{todo} = { map { $_ => 1 } split /\s+/, $todo } if $todo;
- $self->{skip_all} = $reason if defined $skip and $skip =~ /^Skip/i;
+ if( $self->{max} == 0 ) {
+ $reason = '' unless defined $skip and $skip =~ /^Skip/i;
+ }
+
+ $self->{skip_all} = $reason;
}
return $YES;