]> Sergey Matveev's repositories - public-inbox.git/commitdiff
lei tag: fix tagging of IMAP inputs
authorEric Wong <e@80x24.org>
Sat, 3 Apr 2021 02:24:24 +0000 (02:24 +0000)
committerEric Wong <e@80x24.org>
Sat, 3 Apr 2021 05:08:52 +0000 (05:08 +0000)
We need net_merge_all and to lock the number of worker jobs.
Parallel inputs are not supported, yet (is it needed?, I don't
expect this to be used for multiple files very often...).

lib/PublicInbox/LeiTag.pm
t/lei-import-imap.t

index d572a84acab43e84ece12d90ff32e9fd82e5692b..06313139775446ca592ffbeeab380f16b57650b6 100644 (file)
@@ -112,7 +112,8 @@ sub lei_tag { # the "lei tag" method
        my $ops = { '' => [ \&tag_done, $lei ] };
        $lei->{auth}->op_merge($ops, $self) if $lei->{auth};
        $self->{vmd_mod} = $vmd_mod;
-       (my $op_c, $ops) = $lei->workers_start($self, 'lei_tag', 1, $ops);
+       my $j = $self->{-wq_nr_workers} = 1; # locked for now
+       (my $op_c, $ops) = $lei->workers_start($self, 'lei_tag', $j, $ops);
        $lei->{tag} = $self;
        net_merge_complete($self) unless $lei->{auth};
        $op_c->op_wait_event($ops);
@@ -175,4 +176,7 @@ sub _complete_tag {
        } grep(/$re\Q$cur/, @all);
 }
 
+no warnings 'once'; # the following works even when LeiAuth is lazy-loaded
+*net_merge_all = \&PublicInbox::LeiAuth::net_merge_all;
+
 1;
index fd38037ae9c1654b47af76759df442e3559a05df..7e4d44b9d246f14dc3267cf53851002c5eaf9db8 100644 (file)
@@ -23,5 +23,6 @@ test_lei({ tmpdir => $tmpdir }, sub {
        my %r;
        for (@$out) { $r{ref($_)}++ }
        is_deeply(\%r, { 'HASH' => scalar(@$out) }, 'all hashes');
+       lei_ok([qw(tag +kw:seen), "imap://$host_port/t.v2.0"], undef, undef);
 });
 done_testing;