]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/convert-compact.t
check git version requirements
[public-inbox.git] / t / convert-compact.t
index e51eadcf2de5df41a5523fc4fbc49f473136dd16..491486d5b05a8e2bdd99f7b604b81d70d99bfc75 100644 (file)
@@ -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();