about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-04-23 10:50:08 +0000
committerEric Wong <e@80x24.org>2014-04-23 10:50:08 +0000
commitdc4a8227f8949694e4fc3f40bb0278d4b4713381 (patch)
tree509d5fd608b88e4966ac9aeead62601b74d0dc33 /t
parent6284eee462a7845c648e259ff40c6643eed7bfb3 (diff)
downloadpublic-inbox-dc4a8227f8949694e4fc3f40bb0278d4b4713381.tar.gz
We already depend on IPC::Run, so just use it our tests.
Diffstat (limited to 't')
-rw-r--r--t/feed.t25
1 files changed, 10 insertions, 15 deletions
diff --git a/t/feed.t b/t/feed.t
index 3e1c6d7b..a6bffdcd 100644
--- a/t/feed.t
+++ b/t/feed.t
@@ -6,6 +6,7 @@ use Test::More;
 use Email::Simple;
 use PublicInbox::Feed;
 use PublicInbox::Config;
+use IPC::Run qw/run/;
 use File::Temp qw/tempdir/;
 my $have_xml_feed = eval { require XML::Feed; 1 };
 
@@ -17,12 +18,6 @@ my $git_dir = "$tmpdir/gittest";
         local $ENV{GIT_DIR} = $git_dir;
 
         foreach my $i (1..6) {
-                my $pid = open(my $pipe, "|-");
-                defined $pid or die "fork/pipe failed: $!\n";
-                if ($pid == 0) {
-                        exec("ssoma-mda", $git_dir);
-                }
-
                 my $simple = Email::Simple->new(<<EOF);
 From: ME <me\@example.com>
 To: U <u\@example.com>
@@ -44,8 +39,9 @@ msg $i
 
 keep me
 EOF
-                print $pipe $simple->as_string or die "print failed: $!\n";
-                close $pipe or die "close pipe failed: $!\n";
+                my $str = $simple->as_string;
+                run(['ssoma-mda', $git_dir], \$str) or
+                        die "mda failed: $?\n";
         }
 }
 
@@ -65,7 +61,10 @@ EOF
                         is($p->id, 'public-inbox@example.com',
                                 "id is set to default");
                 }
+
                 unlike($feed, qr/drop me/, "long quoted text dropped");
+                like($feed, qr!/f/\d%40example\.com\.html\b!,
+                        "/f/ url generated for long quoted text");
                 like($feed, qr/inline me here/, "short quoted text kept");
                 like($feed, qr/keep me/, "unquoted text saved");
         }
@@ -108,13 +107,9 @@ EOF
 
         # nuke spam
         {
-                my $pid = open(my $pipe, "|-");
-                defined $pid or die "fork/pipe failed: $!\n";
-                if ($pid == 0) {
-                        exec("ssoma-rm", $git_dir);
-                }
-                print $pipe $spam->as_string or die "print failed: $!\n";
-                close $pipe or die "close pipe failed: $!\n";
+                my $spam_str = $spam->as_string;
+                run(["ssoma-rm", $git_dir], \$spam_str) or
+                                die "ssoma-rm failed: $?\n";
         }
 
         # spam no longer shows up