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');
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');
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';