summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
diff options
context:
space:
mode:
authorafresh1 <afresh1@openbsd.org>2014-03-24 14:58:42 +0000
committerafresh1 <afresh1@openbsd.org>2014-03-24 14:58:42 +0000
commit91f110e064cd7c194e59e019b83bb7496c1c84d4 (patch)
tree3e8e577405dba7e94b43cbf21c22f21aaa5ab949 /gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
parentdo not call purge_task every 10 secs, it is only needed once at startup and (diff)
downloadwireguard-openbsd-91f110e064cd7c194e59e019b83bb7496c1c84d4.tar.xz
wireguard-openbsd-91f110e064cd7c194e59e019b83bb7496c1c84d4.zip
Import perl-5.18.2
OK espie@ sthen@ deraadt@
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm')
-rw-r--r--gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm28
1 files changed, 22 insertions, 6 deletions
diff --git a/gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm b/gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
index 678ea2f0e3d..af7b3fca304 100644
--- a/gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
+++ b/gnu/usr.bin/perl/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
@@ -25,13 +25,27 @@ BEGIN {
show_count => sub { shift; shift },
stdout => sub {
my ( $self, $ref ) = @_;
+
$self->_croak("option 'stdout' needs a filehandle")
- unless ( ref $ref || '' ) eq 'GLOB'
- or eval { $ref->can('print') };
+ unless $self->_is_filehandle($ref);
+
return $ref;
},
);
+ sub _is_filehandle {
+ my ( $self, $ref ) = @_;
+
+ return 0 if !defined $ref;
+
+ return 1 if ref $ref eq 'GLOB'; # lexical filehandle
+ return 1 if !ref $ref && ref \$ref eq 'GLOB'; # bare glob like *STDOUT
+
+ return 1 if eval { $ref->can('print') };
+
+ return 0;
+ }
+
my @getter_setters = qw(
_longest
_printed_summary_header
@@ -47,11 +61,11 @@ TAP::Formatter::Base - Base class for harness output delegates
=head1 VERSION
-Version 3.23
+Version 3.26
=cut
-$VERSION = '3.23';
+$VERSION = '3.26';
=head1 DESCRIPTION
@@ -375,9 +389,11 @@ sub _summary_test_header {
my $spaces = ' ' x ( $self->_longest - length $test );
$spaces = ' ' unless $spaces;
my $output = $self->_get_output_method($parser);
+ my $wait = $parser->wait;
+ defined $wait or $wait = '(none)';
$self->$output(
- sprintf "$test$spaces(Wstat: %d Tests: %d Failed: %d)\n",
- $parser->wait, $parser->tests_run, scalar $parser->failed
+ sprintf "$test$spaces(Wstat: %s Tests: %d Failed: %d)\n",
+ $wait, $parser->tests_run, scalar $parser->failed
);
$self->_printed_summary_header(1);
}