about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-10-30 20:46:44 +0000
committerEric Wong <e@80x24.org>2019-10-30 20:46:44 +0000
commitdc84f78e4b3c7f5c8384fbf5a6b538ac1826a604 (patch)
tree30f147efadad0e4728aaa65359740dbd7baafa5c /t
parente177c05afa9bdc5ca27bc2bd9f946b70290ca3f4 (diff)
parent4da1c13914d958807fe9ef347d3a6abf7b129b62 (diff)
downloadpublic-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.t8
-rw-r--r--t/mda.t19
-rw-r--r--t/v2writable.t12
3 files changed, 39 insertions, 0 deletions
diff --git a/t/import.t b/t/import.t
index 4ec3c4f3..d309eec5 100644
--- a/t/import.t
+++ b/t/import.t
@@ -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();
diff --git a/t/mda.t b/t/mda.t
index 99592b2d..35811ac6 100644
--- a/t/mda.t
+++ b/t/mda.t
@@ -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();