X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Ffeed.t;h=97468c730f0dc242cf06484cecb72adc70c1cdef;hb=3c313f9034aac96182e2efdc2f92c40803626f32;hp=5dd869aa16107828d6591a7f01b6f2d5b809a7af;hpb=4b313dc74bc9bb84a542b7ec920cdb92879e7523;p=public-inbox.git
diff --git a/t/feed.t b/t/feed.t
index 5dd869aa..97468c73 100644
--- a/t/feed.t
+++ b/t/feed.t
@@ -1,5 +1,5 @@
-# Copyright (C) 2014-2015 all contributors
-# License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt)
+# Copyright (C) 2014-2019 all contributors
+# License: AGPL-3.0+
use strict;
use warnings;
use Test::More;
@@ -9,44 +9,28 @@ use PublicInbox::Git;
use PublicInbox::Import;
use PublicInbox::Config;
use PublicInbox::Inbox;
-use File::Temp qw/tempdir/;
my $have_xml_feed = eval { require XML::Feed; 1 };
-require 't/common.perl';
+use PublicInbox::TestCommon;
sub string_feed {
- stream_to_string(PublicInbox::Feed::generate($_[0]));
-}
-
-# ensure we are compatible with existing ssoma installations which
-# do not use fast-import. We can probably remove this in 2018
-my %SSOMA;
-sub rand_use ($) {
- return 0 if $ENV{FAST};
- eval { require IPC::Run };
- return 0 if $@;
- my $cmd = $_[0];
- my $x = $SSOMA{$cmd};
- unless ($x) {
- $x = -1;
- foreach my $p (split(':', $ENV{PATH})) {
- -x "$p/$cmd" or next;
- $x = 1;
- last;
- }
- $SSOMA{$cmd} = $x;
+ my $res = PublicInbox::Feed::generate($_[0]);
+ my $body = $res->[2];
+ my $str = '';
+ while (defined(my $chunk = $body->getline)) {
+ $str .= $chunk;
}
- return if $x < 0;
- ($x > 0 && (int(rand(10)) % 2) == 1);
+ $body->close;
+ $str;
}
-my $tmpdir = tempdir('pi-feed-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/gittest";
my $ibx = PublicInbox::Inbox->new({
address => 'test@example',
- -primary_address => 'test@example',
name => 'testbox',
- mainrepo => $git_dir,
+ inboxdir => $git_dir,
url => 'http://example.com/test',
+ feedmax => 3,
});
my $git = $ibx->git;
my $im = PublicInbox::Import->new($git, $ibx->{name}, 'test@example');
@@ -86,14 +70,7 @@ msg $i
keep me
EOF
- if (rand_use('ssoma-mda')) {
- $im->done;
- my $str = $mime->as_string;
- IPC::Run::run(['ssoma-mda', $git_dir], \$str) or
- die "mda failed: $?\n";
- } else {
- like($im->add($mime), qr/\A:\d+/, 'added');
- }
+ like($im->add($mime), qr/\A:\d+/, 'added');
}
$im->done;
}
@@ -102,10 +79,7 @@ EOF
{
# check initial feed
{
- my $feed = string_feed({
- -inbox => $ibx,
- max => 3
- });
+ my $feed = string_feed({ -inbox => $ibx });
SKIP: {
skip 'XML::Feed missing', 2 unless $have_xml_feed;
my $p = XML::Feed->parse(\$feed);
@@ -131,22 +105,13 @@ Subject: SPAM!!!!!!!!
Date: Thu, 01 Jan 1970 00:00:00 +0000
EOF
- if (rand_use('ssoma-mda')) {
- my $str = $spam->as_string;
- IPC::Run::run(['ssoma-mda', $git_dir], \$str) or
- die "mda failed: $?\n";
- } else {
- $im->add($spam);
- $im->done;
- }
+ $im->add($spam);
+ $im->done;
}
# check spam shows up
{
- my $spammy_feed = string_feed({
- -inbox => $ibx,
- max => 3
- });
+ my $spammy_feed = string_feed({ -inbox => $ibx });
SKIP: {
skip 'XML::Feed missing', 2 unless $have_xml_feed;
my $p = XML::Feed->parse(\$spammy_feed);
@@ -157,18 +122,12 @@ EOF
}
# nuke spam
- if (rand_use('ssoma-rm')) {
- my $spam_str = $spam->as_string;
- IPC::Run::run(["ssoma-rm", $git_dir], \$spam_str) or
- die "ssoma-rm failed: $?\n";
- } else {
- $im->remove($spam);
- $im->done;
- }
+ $im->remove($spam);
+ $im->done;
# spam no longer shows up
{
- my $feed = string_feed({ -inbox => $ibx, max => 3 });
+ my $feed = string_feed({ -inbox => $ibx });
SKIP: {
skip 'XML::Feed missing', 2 unless $have_xml_feed;
my $p = XML::Feed->parse(\$feed);