X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fconvert-compact.t;h=376e0f6a8b15709bd15e9411e5660695f5377d0b;hb=62d1a4da996bd9a664be954f71f78fe052f9df16;hp=f56d78170500ab12a27e56764e045a8ca95e98da;hpb=4bb77753fbbc30ab396a1b01d70cf65b629b6276;p=public-inbox.git
diff --git a/t/convert-compact.t b/t/convert-compact.t
index f56d7817..376e0f6a 100644
--- a/t/convert-compact.t
+++ b/t/convert-compact.t
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2019 all contributors
+# Copyright (C) 2018-2020 all contributors
# License: AGPL-3.0+
use strict;
use warnings;
@@ -7,7 +7,7 @@ use PublicInbox::MIME;
use PublicInbox::Spawn qw(which);
use PublicInbox::TestCommon;
require_git(2.6);
-require_mods(qw(DBD::SQLite Search::Xapian));
+require_mods(qw(DBD::SQLite Search::Xapian Email::MIME));
which('xapian-compact') or
plan skip_all => 'xapian-compact missing for '.__FILE__;
@@ -20,14 +20,13 @@ my $ibx = {
-primary_address => 'test@example.com',
};
-ok(PublicInbox::Import::run_die([qw(git init --bare -q), $ibx->{inboxdir}]),
- 'initialized v1 repo');
+PublicInbox::Import::init_bare($ibx->{inboxdir});
ok(umask(077), 'set restrictive umask');
ok(PublicInbox::Import::run_die([qw(git) , "--git-dir=$ibx->{inboxdir}",
qw(config core.sharedRepository 0644)]), 'set sharedRepository');
$ibx = PublicInbox::Inbox->new($ibx);
my $im = PublicInbox::Import->new($ibx->git, undef, undef, $ibx);
-my $mime = PublicInbox::MIME->create(
+my $mime = Email::MIME->create(
header => [
From => 'a@example.com',
To => 'test@example.com',
@@ -115,4 +114,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();