From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id B41611F884 for ; Sun, 26 Jan 2020 10:29:24 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/4] avoid relying on IO::Handle/IO::File autoload Date: Sun, 26 Jan 2020 10:29:22 +0000 Message-Id: <20200126102924.3593-3-e@yhbt.net> In-Reply-To: <20200126102924.3593-1-e@yhbt.net> References: <20200126102924.3593-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Perl 5.14+ gained the ability to autoload IO::File (and IO::Handle) on missing methods, so relying on this breaks under 5.10.1. There's no reason to load IO::File or IO::Handle when built-in perlops work fine and are even a hair faster. --- lib/PublicInbox/Qspawn.pm | 2 +- t/httpd-corner.t | 2 +- t/import.t | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm index 31a1583d..3425e5e4 100644 --- a/lib/PublicInbox/Qspawn.pm +++ b/lib/PublicInbox/Qspawn.pm @@ -164,7 +164,7 @@ reread: $async->async_pass($self->{psgi_env}->{'psgix.io'}, $qx_fh, \$buf); } elsif (defined $r) { - $r ? $qx_fh->write($buf) : event_step($self, undef); + $r ? (print $qx_fh $buf) : event_step($self, undef); } else { return if $! == EAGAIN; # try again when notified goto reread if $! == EINTR; diff --git a/t/httpd-corner.t b/t/httpd-corner.t index 1f2bb53f..879a023a 100644 --- a/t/httpd-corner.t +++ b/t/httpd-corner.t @@ -278,7 +278,7 @@ SKIP: { waitpid($pid, 0); is($?, 0, 'curl exited successfully'); is(-s $cerr, 0, 'no errors from curl'); - $cout->seek(0, SEEK_SET); + seek($cout, 0, SEEK_SET); is(<$cout>, sha1_hex($str), 'read expected body'); open my $fh, '-|', qw(curl -sS), "$base/async-big" or die $!; diff --git a/t/import.t b/t/import.t index cfbe501b..ecf2c590 100644 --- a/t/import.t +++ b/t/import.t @@ -7,8 +7,7 @@ use PublicInbox::MIME; use PublicInbox::Git; use PublicInbox::Import; use PublicInbox::Spawn qw(spawn); -use IO::File; -use Fcntl qw(:DEFAULT); +use Fcntl qw(:DEFAULT SEEK_SET); use File::Temp qw/tempfile/; use PublicInbox::TestCommon; my ($dir, $for_destroy) = tmpdir(); @@ -42,12 +41,12 @@ if ($v2) { my $in = tempfile(); print $in $mime->as_string or die "write failed: $!"; $in->flush or die "flush failed: $!"; - $in->seek(0, SEEK_SET); + seek($in, 0, SEEK_SET); my $out = tempfile(); my $pid = spawn(\@cmd, {}, { 0 => $in, 1 => $out }); is(waitpid($pid, 0), $pid, 'waitpid succeeds on hash-object'); is($?, 0, 'hash-object'); - $out->seek(0, SEEK_SET); + seek($out, 0, SEEK_SET); chomp(my $hashed_obj = <$out>); is($hashed_obj, $info->[0], "last object_id matches exp"); }