diff options
author | Eric Wong <e@80x24.org> | 2021-10-22 08:22:45 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-10-22 19:07:37 +0000 |
commit | 96a5e841a169166457d9cf485e27a0d6cbe7ed75 (patch) | |
tree | 9b65be674bc25308f97bba782b39050cdf39cdb0 /xt/net_writer-imap.t | |
parent | 45f87867107724371d80a563099ab93eda1d919b (diff) | |
download | public-inbox-96a5e841a169166457d9cf485e27a0d6cbe7ed75.tar.gz |
In case an IMAP folder is deleted, just set an error and ignore it rather than creating an empty folder which we attempt to export keywords to for non-existent messages.
Diffstat (limited to 'xt/net_writer-imap.t')
-rw-r--r-- | xt/net_writer-imap.t | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/xt/net_writer-imap.t b/xt/net_writer-imap.t index cb2ea61f..afa4bcc3 100644 --- a/xt/net_writer-imap.t +++ b/xt/net_writer-imap.t @@ -83,8 +83,11 @@ my $mics = do { }; my $mic = (values %$mics)[0]; my $cleanup = PublicInbox::OnDestroy->new($$, sub { - my $mic = $nwr->mic_get($uri); - $mic->delete($folder) or fail "delete $folder <$folder_uri>: $@"; + if (defined($folder)) { + my $mic = $nwr->mic_get($uri); + $mic->delete($folder) or + fail "delete $folder <$folder_uri>: $@"; + } if ($tmpdir && -f "$tmpdir/.gitconfig") { local $ENV{HOME} = $tmpdir; system(qw(git credential-cache exit)); @@ -250,6 +253,14 @@ EOM lei_ok qw(q m:testmessage --no-external -o), $folder_url; lei_ok qw(up), $folder_url; lei_ok qw(up --all=remote); + $mic = $nwr->mic_get($uri); + $mic->delete($folder) or fail "delete $folder <$folder_uri>: $@"; + $mic->expunge; + undef $mic; + undef $folder; + ok(!lei(qw(export-kw), $folder_url), + 'export-kw fails w/ non-existent folder'); + }); undef $cleanup; # remove temporary folder |