about summary refs log tree commit
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-12-25 07:50:44 +0000
committerEric Wong <e@80x24.org>2019-12-26 10:48:19 +0000
commit574cf9098d09c7c2e10c28cf577321161ddecd61 (patch)
tree5298c45c5d78c634678611279c64bb4a5129328d /t
parente61e5fcff30370f355d8aeea6e47c06f3606e994 (diff)
downloadpublic-inbox-574cf9098d09c7c2e10c28cf577321161ddecd61.tar.gz
Instead of just passing the rpipe to the start_cb, pass the
entire qspawn ref to start_cb.  Update existing callers to
avoid circular refs.
Diffstat (limited to 't')
-rw-r--r--t/qspawn.t19
1 files changed, 10 insertions, 9 deletions
diff --git a/t/qspawn.t b/t/qspawn.t
index fc288a2d..8bc88e0e 100644
--- a/t/qspawn.t
+++ b/t/qspawn.t
@@ -23,9 +23,9 @@ my $limiter = PublicInbox::Qspawn::Limiter->new(1);
         my $x = PublicInbox::Qspawn->new([qw(true)]);
         my $run = 0;
         $x->start($limiter, sub {
-                my ($rpipe) = @_;
-                is(0, sysread($rpipe, my $buf, 1), 'read zero bytes');
-                ok(!finish_err($x), 'no error on finish');
+                my ($self) = @_;
+                is(0, sysread($self->{rpipe}, my $buf, 1), 'read zero bytes');
+                ok(!finish_err($self), 'no error on finish');
                 $run = 1;
         });
         is($run, 1, 'callback ran alright');
@@ -35,9 +35,10 @@ my $limiter = PublicInbox::Qspawn::Limiter->new(1);
         my $x = PublicInbox::Qspawn->new([qw(false)]);
         my $run = 0;
         $x->start($limiter, sub {
-                my ($rpipe) = @_;
-                is(0, sysread($rpipe, my $buf, 1), 'read zero bytes from false');
-                ok(finish_err($x), 'error on finish');
+                my ($self) = @_;
+                is(0, sysread($self->{rpipe}, my $buf, 1),
+                                'read zero bytes from false');
+                ok(finish_err($self), 'error on finish');
                 $run = 1;
         });
         is($run, 1, 'callback ran alright');
@@ -47,16 +48,16 @@ foreach my $cmd ([qw(sleep 1)], [qw(sh -c), 'sleep 1; false']) {
         my $s = PublicInbox::Qspawn->new($cmd);
         my @run;
         $s->start($limiter, sub {
-                my ($rpipe) = @_;
+                my ($self) = @_;
                 push @run, 'sleep';
-                is(0, sysread($rpipe, my $buf, 1), 'read zero bytes');
+                is(0, sysread($self->{rpipe}, my $buf, 1), 'read zero bytes');
         });
         my $n = 0;
         my @t = map {
                 my $i = $n++;
                 my $x = PublicInbox::Qspawn->new([qw(true)]);
                 $x->start($limiter, sub {
-                        my ($rpipe) = @_;
+                        my ($self) = @_;
                         push @run, $i;
                 });
                 [$x, $i]