From 6dfb9311700d09fb019bee74d2b420c6cdea8b8f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 18 Apr 2014 22:18:17 +0000 Subject: mda: rename PI_FAILBOX to PI_EMERGENCY The emergency destination may be Maildir. A Maildir emergency destination is better for volatile data which is written to and deleted-from frequently. --- t/mda.t | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 't/mda.t') diff --git a/t/mda.t b/t/mda.t index b403c6b3..d70288bc 100644 --- a/t/mda.t +++ b/t/mda.t @@ -45,7 +45,7 @@ my $failbox = "$home/fail.mbox"; { my $good_rev; - local $ENV{PI_FAILBOX} = $failbox; + local $ENV{PI_EMERGENCY} = $failbox; local $ENV{HOME} = $home; local $ENV{RECIPIENT} = $addr; my $simple = Email::Simple->new(< 0, "PI_FAILBOX is written to"); + ok(-s $failbox > 0, "PI_EMERGENCY is written to"); } fail_bad_header($good_rev, "bad recipient", <<""); @@ -133,7 +133,7 @@ Date: deadbeef # spam training { - local $ENV{PI_FAILBOX} = $failbox; + local $ENV{PI_EMERGENCY} = $failbox; local $ENV{HOME} = $home; local $ENV{RECIPIENT} = $addr; local $ENV{PATH} = $main_path; @@ -167,7 +167,7 @@ EOF # train ham message { - local $ENV{PI_FAILBOX} = $failbox; + local $ENV{PI_EMERGENCY} = $failbox; local $ENV{HOME} = $home; local $ENV{RECIPIENT} = $addr; local $ENV{PATH} = $main_path; @@ -194,6 +194,28 @@ EOF is($?, 0, "learned ham idempotently "); } +# faildir - emergency destination is maildir +{ + my $faildir= "$home/faildir/"; + local $ENV{PI_EMERGENCY} = $faildir; + local $ENV{HOME} = $home; + local $ENV{RECIPIENT} = $addr; + local $ENV{PATH} = $fail_path; + my $in = < +To: You +Cc: $addr +Message-ID: +Subject: faildir subject +Date: Thu, 01 Jan 1970 00:00:00 +0000 + +EOF + run([$mda], \$in); + ok(-d $faildir, "emergency exists"); + my @new = glob("$faildir/new/*"); + is(scalar(@new), 1, "message delivered"); +} + done_testing(); sub fail_bad_header { @@ -207,6 +229,6 @@ sub fail_bad_header { my $rev = `git rev-list HEAD`; chomp $rev; is($rev, $good_rev, "bad revision not commited ($msg)"); - ok(-s $failbox > 0, "PI_FAILBOX is written to ($msg)"); + ok(-s $failbox > 0, "PI_EMERGENCY is written to ($msg)"); [ $in, $out, $err ]; } -- cgit v1.2.3-24-ge0c7