]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/v2mirror.t
index: v2: --sequential-shard option
[public-inbox.git] / t / v2mirror.t
index b24528fee76307d7b8a17c7fb5873c6fbdd43e01..a4ac682d4136e5565a72b6f569cddfde49e4cf54 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 use warnings;
 use Test::More;
 use PublicInbox::TestCommon;
+use File::Path qw(remove_tree);
 use Cwd qw(abs_path);
 require_git(2.6);
 local $ENV{HOME} = abs_path('t');
@@ -189,6 +190,19 @@ is($mibx->git->check($to_purge), undef, 'unindex+prune successful in mirror');
        is(scalar($mset->items), 0, '1@example.com no longer visible in mirror');
 }
 
+if ('sequential-shard') {
+       $mset = $mibx->search->query('m:15@example.com', {mset => 1});
+       is(scalar($mset->items), 1, 'large message not indexed');
+       remove_tree(glob("$tmpdir/m/xap*"), glob("$tmpdir/m/msgmap.*"));
+       my $cmd = [ qw(-index -j9 --sequential-shard), "$tmpdir/m" ];
+       ok(run_script($cmd), '--sequential-shard works');
+       my @shards = glob("$tmpdir/m/xap*/?");
+       is(scalar(@shards), 8, 'got expected shard count');
+       PublicInbox::InboxWritable::cleanup($mibx);
+       $mset = $mibx->search->query('m:15@example.com', {mset => 1});
+       is(scalar($mset->items), 1, 'search works after --sequential-shard');
+}
+
 if ('max size') {
        $mime->header_set('Message-ID', '<2big@a>');
        my $max = '2k';