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 6CE4D1F464 for ; Tue, 17 Sep 2019 08:31:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/6] qspawn: remove return value from ->finish Date: Tue, 17 Sep 2019 08:31:18 +0000 Message-Id: <20190917083123.6468-2-e@80x24.org> In-Reply-To: <20190917083123.6468-1-e@80x24.org> References: <20190917083123.6468-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: We don't use the return value in real code since we do waitpid asynchronously, now. So simplify our runtime code at the cost of making our test slighly more complex. --- lib/PublicInbox/Qspawn.pm | 1 - t/qspawn.t | 17 +++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm index 54976b0..6b350f0 100644 --- a/lib/PublicInbox/Qspawn.pm +++ b/lib/PublicInbox/Qspawn.pm @@ -141,7 +141,6 @@ sub finish ($;$) { _do_spawn(@$next); } } - $self->{err}; # may be meaningless if non-blocking } sub start { diff --git a/t/qspawn.t b/t/qspawn.t index ab6e375..58c6feb 100644 --- a/t/qspawn.t +++ b/t/qspawn.t @@ -11,6 +11,12 @@ use_ok 'PublicInbox::Qspawn'; is($res, "err\nout\n", 'captured stderr and stdout'); } +sub finish_err ($) { + my ($qsp) = @_; + $qsp->finish; + $qsp->{err}; +} + my $limiter = PublicInbox::Qspawn::Limiter->new(1); { my $x = PublicInbox::Qspawn->new([qw(true)]); @@ -18,7 +24,7 @@ my $limiter = PublicInbox::Qspawn::Limiter->new(1); $x->start($limiter, sub { my ($rpipe) = @_; is(0, sysread($rpipe, my $buf, 1), 'read zero bytes'); - ok(!$x->finish, 'no error on finish'); + ok(!finish_err($x), 'no error on finish'); $run = 1; }); is($run, 1, 'callback ran alright'); @@ -30,8 +36,7 @@ my $limiter = PublicInbox::Qspawn::Limiter->new(1); $x->start($limiter, sub { my ($rpipe) = @_; is(0, sysread($rpipe, my $buf, 1), 'read zero bytes from false'); - my $err = $x->finish; - ok($err, 'error on finish'); + ok(finish_err($x), 'error on finish'); $run = 1; }); is($run, 1, 'callback ran alright'); @@ -57,11 +62,11 @@ foreach my $cmd ([qw(sleep 1)], [qw(sh -c), 'sleep 1; false']) { } (0..2); if ($cmd->[-1] =~ /false\z/) { - ok($s->finish, 'got error on false after sleep'); + ok(finish_err($s), 'got error on false after sleep'); } else { - ok(!$s->finish, 'no error on sleep'); + ok(!finish_err($s), 'no error on sleep'); } - ok(!$_->[0]->finish, "true $_->[1] succeeded") foreach @t; + ok(!finish_err($_->[0]), "true $_->[1] succeeded") foreach @t; is_deeply([qw(sleep 0 1 2)], \@run, 'ran in order'); } -- EW