about summary refs log tree commit homepage
path: root/t/v2mirror.t
diff options
context:
space:
mode:
Diffstat (limited to 't/v2mirror.t')
-rw-r--r--t/v2mirror.t14
1 files changed, 14 insertions, 0 deletions
diff --git a/t/v2mirror.t b/t/v2mirror.t
index b24528fe..a4ac682d 100644
--- a/t/v2mirror.t
+++ b/t/v2mirror.t
@@ -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';