X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fv2mirror.t;h=a4ac682d4136e5565a72b6f569cddfde49e4cf54;hb=d73d783ab2cf14ba28ca63723223d8c85a68cdd5;hp=fc03c3d7c3d101730416afc2924335e8abbaeec1;hpb=8722adec7acac538c1cb92de6d53002a4e4e33b8;p=public-inbox.git diff --git a/t/v2mirror.t b/t/v2mirror.t index fc03c3d7..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'); @@ -80,9 +81,11 @@ foreach my $i (0..$epoch_max) { ok(-d "$tmpdir/m/git/$i.git", "mirror $i OK"); } -@cmd = ("-init", '-V2', 'm', "$tmpdir/m", 'http://example.com/m', +@cmd = ("-init", '-j1', '-V2', 'm', "$tmpdir/m", 'http://example.com/m', 'alt@example.com'); ok(run_script(\@cmd), 'initialized public-inbox -V2'); +my @shards = glob("$tmpdir/m/xap*/?"); +is(scalar(@shards), 1, 'got a single shard on init'); ok(run_script([qw(-index -j0), "$tmpdir/m"]), 'indexed'); @@ -187,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';