From b5ddcb3352ef31aeb03b4c4cbb04af3de34a4c4f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 28 Mar 2020 00:56:04 +0000 Subject: index: support --compact / -c on command-line It's more convenient to specify `-c' / `--compact' on the command-line when reindexing than it is to invoke public-inbox-compact(1) separately. This is especially convenient in low-space situations when public-inbox-index is operating on multiple inboxes sequentially, as compaction can happen immediately after indexing each inbox, instead of waiting until all inboxes are indexed. --- t/convert-compact.t | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 't') diff --git a/t/convert-compact.t b/t/convert-compact.t index 1671caad..70609c7d 100644 --- a/t/convert-compact.t +++ b/t/convert-compact.t @@ -115,4 +115,17 @@ my $msgs = $ibx->recent({limit => 1000}); is($msgs->[0]->{mid}, 'a-mid@b', 'message exists in history'); is(scalar @$msgs, 1, 'only one message in history'); +$ibx = undef; +$err = ''; +$cmd = [ qw(-index --reindex -c), "$tmpdir/v2" ]; +ok(run_script($cmd, undef, $rdr), '--reindex -c'); +like($err, qr/xapian-compact/, 'xapian-compact ran (-c)'); + +$rdr->{2} = \(my $err2 = ''); +$cmd = [ qw(-index --reindex -cc), "$tmpdir/v2" ]; +ok(run_script($cmd, undef, $rdr), '--reindex -c -c'); +like($err2, qr/xapian-compact/, 'xapian-compact ran (-c -c)'); +ok(scalar(split(/\n/, $err2)) > scalar(split(/\n/, $err)), + '-compacted twice'); + done_testing(); -- cgit v1.2.3-24-ge0c7