X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Flei_to_mail.t;fp=t%2Flei_to_mail.t;h=585db689aa2a5cc7c2420c24b622fdd136c7ef6b;hb=be5975337332d8ac681f4c2101e2ca436550c90b;hp=7898cc48396c55a01bca352a495a2fb1cc9a223f;hpb=6c551bffd75afb41d9b5e4774068abe7e06ed0e7;p=public-inbox.git diff --git a/t/lei_to_mail.t b/t/lei_to_mail.t index 7898cc48..585db689 100644 --- a/t/lei_to_mail.t +++ b/t/lei_to_mail.t @@ -6,8 +6,8 @@ use v5.10.1; use Test::More; use PublicInbox::TestCommon; use PublicInbox::Eml; -use Fcntl qw(SEEK_SET); -use PublicInbox::Spawn qw(popen_rd which); +use Fcntl qw(SEEK_SET O_RDONLY O_NONBLOCK); +use PublicInbox::Spawn qw(popen_rd); use List::Util qw(shuffle); require_mods(qw(DBD::SQLite)); require PublicInbox::MdirReader; @@ -242,11 +242,12 @@ SKIP: { # FIFO support use POSIX qw(mkfifo); my $fn = "$tmpdir/fifo"; mkfifo($fn, 0600) or skip("mkfifo not supported: $!", 1); - my $cat = popen_rd([which('cat'), $fn]); + sysopen(my $cat, $fn, O_RDONLY|O_NONBLOCK) or BAIL_OUT $!; my $wcb = $wcb_get->('mboxo', $fn); $wcb->(\(my $x = $buf), $deadbeef); $commit->($wcb); my $cmp = ''; + $cat->blocking(1); PublicInbox::MboxReader->mboxo($cat, sub { $cmp .= $as_orig->(@_) }); is($cmp, $buf, 'message written to FIFO'); }