X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fconvert-compact.t;h=491486d5b05a8e2bdd99f7b604b81d70d99bfc75;hb=50c822076abee76c3133ffc3482488392eecedfb;hp=e51eadcf2de5df41a5523fc4fbc49f473136dd16;hpb=c4aa293b2320feb805c5afeaa373f608e5bc8618;p=public-inbox.git diff --git a/t/convert-compact.t b/t/convert-compact.t index e51eadcf..491486d5 100644 --- a/t/convert-compact.t +++ b/t/convert-compact.t @@ -5,12 +5,14 @@ use warnings; use Test::More; use File::Temp qw/tempdir/; use PublicInbox::MIME; +require './t/common.perl'; +require_git(2.6); my @mods = qw(DBD::SQLite Search::Xapian); foreach my $mod (@mods) { eval "require $mod"; plan skip_all => "$mod missing for convert-compact.t" if $@; } -use PublicInbox::V2Writable; +use_ok 'PublicInbox::V2Writable'; use PublicInbox::Import; my $tmpdir = tempdir('convert-compact-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { @@ -37,8 +39,13 @@ my $mime = PublicInbox::MIME->create( body => "hello world\n", ); ok($im->add($mime), 'added one message'); +ok($im->remove($mime), 'remove message'); +ok($im->add($mime), 'added message again'); $im->done; -PublicInbox::SearchIdx->new($ibx, 1)->index_sync; +for (1..2) { + eval { PublicInbox::SearchIdx->new($ibx, 1)->index_sync; }; + is($@, '', 'no errors syncing'); +} is(((stat("$ibx->{mainrepo}/public-inbox"))[2]) & 07777, 0755, 'sharedRepository respected for v1'); @@ -52,6 +59,7 @@ foreach (@xdir) { } local $ENV{PATH} = "blib/script:$ENV{PATH}"; +local $ENV{PI_CONFIG} = '/dev/null'; open my $err, '>>', "$tmpdir/err.log" or die "open: err.log $!\n"; open my $out, '>>', "$tmpdir/out.log" or die "open: out.log $!\n"; my $rdr = { 1 => fileno($out), 2 => fileno($err) }; @@ -77,8 +85,7 @@ $cmd = [ 'public-inbox-compact', "$tmpdir/v2" ]; my $env = { NPROC => 2 }; ok(PublicInbox::Import::run_die($cmd, $env, $rdr), 'v2 compact works'); $ibx->{mainrepo} = "$tmpdir/v2"; -my $v2w = PublicInbox::V2Writable->new($ibx); -is($v2w->{partitions}, 1, "only one partition in compacted repo"); +$ibx->{version} = 2; @xdir = glob("$tmpdir/v2/xap*/*"); foreach (@xdir) { @@ -96,5 +103,8 @@ foreach (@xdir) { is($st[2] & 07777, -f _ ? 0444 : 0755, 'sharedRepository respected after v2 compact'); } +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'); done_testing();