diff options
author | Eric Wong <e@80x24.org> | 2019-10-30 20:46:44 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-10-30 20:46:44 +0000 |
commit | dc84f78e4b3c7f5c8384fbf5a6b538ac1826a604 (patch) | |
tree | 30f147efadad0e4728aaa65359740dbd7baafa5c /t | |
parent | e177c05afa9bdc5ca27bc2bd9f946b70290ca3f4 (diff) | |
parent | 4da1c13914d958807fe9ef347d3a6abf7b129b62 (diff) | |
download | public-inbox-dc84f78e4b3c7f5c8384fbf5a6b538ac1826a604.tar.gz |
* learn: doc: add public-inbox-learn(1) manpage mda: support multiple List-ID matches mda: prepare for multiple destinations inboxwritable: add assert_usable_dir sub mda: skip MIME parsing if spam mda: hoist out mda_filter_adjust filter/base: remove MAX_MID_SIZE constant mda: hoist out List-ID handling and reuse in -learn learn: hoist out remove_or_add subroutine learn: GIT_COMMITTER_<NAME|EMAIL> may be "" or "0" learn: update usage statement learn: only map recipient list on "ham" or "rm" learn: support multiple To/Cc headers
Diffstat (limited to 't')
-rw-r--r-- | t/import.t | 8 | ||||
-rw-r--r-- | t/mda.t | 19 | ||||
-rw-r--r-- | t/v2writable.t | 12 |
3 files changed, 39 insertions, 0 deletions
@@ -96,4 +96,12 @@ is(undef, $im->checkpoint, 'checkpoint works before ->done'); $im->done; is(undef, $im->checkpoint, 'checkpoint works after ->done'); $im->checkpoint; + +my $nogit = PublicInbox::Git->new("$dir/non-existent/dir"); +eval { + my $nope = PublicInbox::Import->new($nogit, 'nope', 'no@example.com'); + $nope->add($mime); +}; +ok($@, 'Import->add fails on non-existent dir'); + done_testing(); @@ -308,6 +308,25 @@ EOF my $cur = `git --git-dir=$maindir diff HEAD~1..HEAD`; like($cur, qr/this message would not be accepted without --no-precheck/, '--no-precheck delivered message anyways'); + + # try a message with multiple List-ID headers + $in = <<EOF; +List-ID: <foo.bar> +List-ID: <$list_id> +Message-ID: <2lids\@example> +Subject: two List-IDs +From: user <user\@example.com> +To: $addr +Date: Fri, 02 Oct 1993 00:00:00 +0000 + +EOF + ($out, $err) = ('', ''); + IPC::Run::run([$mda], \$in, \$out, \$err); + is($?, 0, 'mda OK with multiple List-Id matches'); + $cur = `git --git-dir=$maindir diff HEAD~1..HEAD`; + like($cur, qr/Message-ID: <2lids\@example>/, + 'multi List-ID match delivered'); + like($err, qr/multiple List-ID/, 'warned about multiple List-ID'); } done_testing(); diff --git a/t/v2writable.t b/t/v2writable.t index 2b825768..bfe17d0a 100644 --- a/t/v2writable.t +++ b/t/v2writable.t @@ -276,4 +276,16 @@ EOF $im->done; } +my $tmp = { + inboxdir => "$inboxdir/non-existent/subdir", + name => 'nope', + version => 2, + -primary_address => 'test@example.com', +}; +eval { + my $nope = PublicInbox::V2Writable->new($tmp); + $nope->add($mime); +}; +ok($@, 'V2Writable fails on non-existent dir'); + done_testing(); |