From be5975337332d8ac681f4c2101e2ca436550c90b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 4 Mar 2021 17:03:15 +0800 Subject: t/lei_to_mail: no need to cat in FIFO test We're not forking, here, so there's no need to rely on FD_CLOEXEC to resolve deadlock issues. --- t/lei_to_mail.t | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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'); } -- cgit v1.2.3-24-ge0c7