diff options
Diffstat (limited to 't/convert-compact.t')
-rw-r--r-- | t/convert-compact.t | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/t/convert-compact.t b/t/convert-compact.t index 7270cab0..b123f17b 100644 --- a/t/convert-compact.t +++ b/t/convert-compact.t @@ -1,5 +1,5 @@ #!perl -w -# Copyright (C) 2018-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; @@ -7,9 +7,8 @@ use PublicInbox::Eml; use PublicInbox::TestCommon; use PublicInbox::Import; require_git(2.6); -require_mods(qw(DBD::SQLite Search::Xapian)); -have_xapian_compact or - plan skip_all => 'xapian-compact missing for '.__FILE__; +require_mods(qw(DBD::SQLite Xapian)); +have_xapian_compact; my ($tmpdir, $for_destroy) = tmpdir(); my $ibx = create_inbox 'v1', indexlevel => 'medium', tmpdir => "$tmpdir/v1", pre_cb => sub { @@ -36,14 +35,14 @@ EOF $im->add($eml) or BAIL_OUT '->add'; }; umask(077) or BAIL_OUT "umask: $!"; -is(((stat("$ibx->{inboxdir}/public-inbox"))[2]) & 07777, 0755, +oct_is(((stat("$ibx->{inboxdir}/public-inbox"))[2]) & 05777, 0755, 'sharedRepository respected for v1'); -is(((stat("$ibx->{inboxdir}/public-inbox/msgmap.sqlite3"))[2]) & 07777, 0644, - 'sharedRepository respected for v1 msgmap'); +oct_is(((stat("$ibx->{inboxdir}/public-inbox/msgmap.sqlite3"))[2]) & 05777, + 0644, 'sharedRepository respected for v1 msgmap'); my @xdir = glob("$ibx->{inboxdir}/public-inbox/xap*/*"); foreach (@xdir) { my @st = stat($_); - is($st[2] & 07777, -f _ ? 0644 : 0755, + oct_is($st[2] & 05777, -f _ ? 0644 : 0755, 'sharedRepository respected on file after convert'); } @@ -56,7 +55,7 @@ ok(run_script($cmd, undef, $rdr), 'v1 compact works'); @xdir = glob("$ibx->{inboxdir}/public-inbox/xap*"); is(scalar(@xdir), 1, 'got one xapian directory after compact'); -is(((stat($xdir[0]))[2]) & 07777, 0755, +oct_is(((stat($xdir[0]))[2]) & 05777, 0755, 'sharedRepository respected on v1 compact'); my $hwm = do { @@ -72,9 +71,9 @@ ok(run_script($cmd, undef, $rdr), 'convert --no-index works'); $cmd = [ '-convert', $ibx->{inboxdir}, "$tmpdir/x/v2" ]; ok(run_script($cmd, undef, $rdr), 'convert works'); @xdir = glob("$tmpdir/x/v2/xap*/*"); -foreach (@xdir) { +for (@xdir) { # TODO: should public-inbox-convert preserve S_ISGID bit? my @st = stat($_); - is($st[2] & 07777, -f _ ? 0644 : 0755, + oct_is($st[2] & 07777, -f _ ? 0644 : 0755, 'sharedRepository respected after convert'); } @@ -88,20 +87,20 @@ is($ibx->mm->num_highwater, $hwm, 'highwater mark unchanged in v2 inbox'); @xdir = glob("$tmpdir/x/v2/xap*/*"); foreach (@xdir) { my @st = stat($_); - is($st[2] & 07777, -f _ ? 0644 : 0755, + oct_is($st[2] & 07777, -f _ ? 0644 : 0755, 'sharedRepository respected after v2 compact'); } -is(((stat("$tmpdir/x/v2/msgmap.sqlite3"))[2]) & 07777, 0644, +oct_is(((stat("$tmpdir/x/v2/msgmap.sqlite3"))[2]) & 07777, 0644, 'sharedRepository respected for v2 msgmap'); @xdir = (glob("$tmpdir/x/v2/git/*.git/objects/*/*"), glob("$tmpdir/x/v2/git/*.git/objects/pack/*")); foreach (@xdir) { my @st = stat($_); - is($st[2] & 07777, -f _ ? 0444 : 0755, + oct_is($st[2] & 07777, -f _ ? 0444 : 0755, 'sharedRepository respected after v2 compact'); } -my $msgs = $ibx->recent({limit => 1000}); +my $msgs = $ibx->over->recent({limit => 1000}); is($msgs->[0]->{mid}, 'a-mid@b', 'message exists in history'); is(scalar @$msgs, 1, 'only one message in history'); |