]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/v2writable.t
import: rewrite less history during purge
[public-inbox.git] / t / v2writable.t
index 7e29ef7660de98376346f1b25c1615351098733e..e49c06b98c0efde79faf596f22891bddc0cdc084 100644 (file)
@@ -105,6 +105,7 @@ if ('ensure git configs are correct') {
 
 {
        $mime->header_set('Message-Id', '<abcde@1>', '<abcde@2>');
+       $mime->header_set('References', '<zz-mid@b>');
        ok($im->add($mime), 'message with multiple Message-ID');
        $im->done;
        my @found;
@@ -189,6 +190,22 @@ EOF
                is($nn{$mid}++, 0, "MID is unique in NEWNEWS");
        }
        is_deeply([sort keys %nn], [sort keys %uniq]);
+
+       my %lg;
+       foreach my $num (@{$n->listgroup($group)}) {
+               is($lg{$num}++, 0, "num is unique in LISTGROUP");
+       }
+       is_deeply([sort keys %lg], [sort keys %$x],
+               'XOVER and LISTGROUPS return the same article numbers');
+
+       my $xref = $n->xhdr('Xref', '1-');
+       is_deeply([sort keys %lg], [sort keys %$xref], 'Xref range OK');
+
+       my $mids = $n->xhdr('Message-ID', '1-');
+       is_deeply([sort keys %lg], [sort keys %$xref], 'Message-ID range OK');
+
+       my $rover = $n->xrover('1-');
+       is_deeply([sort keys %lg], [sort keys %$rover], 'XROVER range OK');
 };
 {
        local $ENV{NPROC} = 2;
@@ -231,7 +248,8 @@ EOF
 {
        ok($im->add($mime), 'add message to be purged');
        local $SIG{__WARN__} = sub {};
-       ok($im->purge($mime), 'purged message');
+       ok(my $cmts = $im->purge($mime), 'purged message');
+       like($cmts->[0], qr/\A[a-f0-9]{40}\z/, 'purge returned current commit');
        $im->done;
 }
 
@@ -249,7 +267,7 @@ EOF
        ok($im->add($mime), 'add excessively long References');
        $im->barrier;
 
-       my $msgs = $ibx->search->reopen->get_thread('x'x244)->{msgs};
+       my $msgs = $ibx->search->reopen->get_thread('x'x244);
        is(2, scalar(@$msgs), 'got both messages');
        is($msgs->[0]->{mid}, 'x'x244, 'stored truncated mid');
        is($msgs->[1]->{references}, '<'.('x'x244).'>', 'stored truncated ref');