]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/v2mirror.t
treewide: run update-copyrights from gnulib for 2019
[public-inbox.git] / t / v2mirror.t
index 1a39ce4982488cfe98eaaafb22e3c52aa41180ab..dc930d90518e342cd123dffef5e9ebf982e2f2ed 100644 (file)
@@ -1,18 +1,16 @@
-# Copyright (C) 2018-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2018-2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
 use Test::More;
-require './t/common.perl';
+use PublicInbox::TestCommon;
+use Cwd qw(abs_path);
 require_git(2.6);
+local $ENV{HOME} = abs_path('t');
 
 # Integration tests for HTTP cloning + mirroring
-foreach my $mod (qw(Plack::Util Plack::Builder
-                       HTTP::Date HTTP::Status Search::Xapian DBD::SQLite)) {
-       eval "require $mod";
-       plan skip_all => "$mod missing for v2mirror.t" if $@;
-}
-use File::Temp qw/tempdir/;
+require_mods(qw(Plack::Util Plack::Builder
+               HTTP::Date HTTP::Status Search::Xapian DBD::SQLite));
 use IO::Socket;
 use POSIX qw(dup2);
 use_ok 'PublicInbox::V2Writable';
@@ -20,7 +18,7 @@ use PublicInbox::InboxWritable;
 use PublicInbox::MIME;
 use PublicInbox::Config;
 # FIXME: too much setup
-my $tmpdir = tempdir('pi-v2mirror-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
 my $pi_config = "$tmpdir/config";
 {
        open my $fh, '>', $pi_config or die "open($pi_config): $!";
@@ -96,15 +94,15 @@ for my $i (10..15) {
 $v2w->done;
 $ibx->cleanup;
 
-sub fetch_each_epoch {
+my $fetch_each_epoch = sub {
        foreach my $i (0..$epoch_max) {
                my $dir = "$tmpdir/m/git/$i.git";
                is(system('git', "--git-dir=$dir", 'fetch', '-q'), 0,
                        'fetch successful');
        }
-}
+};
 
-fetch_each_epoch();
+$fetch_each_epoch->();
 
 my $mset = $mibx->search->reopen->query('m:15@example.com', {mset => 1});
 is(scalar($mset->items), 0, 'new message not found in mirror, yet');
@@ -134,7 +132,7 @@ like($to_purge, qr/\A[a-f0-9]{40,}\z/, 'read blob to be purged');
 $mset = $ibx->search->reopen->query('m:10@example.com', {mset => 1});
 is(scalar($mset->items), 0, 'purged message gone from origin');
 
-fetch_each_epoch();
+$fetch_each_epoch->();
 {
        $ibx->cleanup;
        PublicInbox::InboxWritable::cleanup($mibx);
@@ -172,7 +170,7 @@ is($mibx->git->check($to_purge), undef, 'unindex+prune successful in mirror');
        ok($v2w->remove($mime), 'removed <1@example.com> from source');
        $v2w->done;
        $ibx->cleanup;
-       fetch_each_epoch();
+       $fetch_each_epoch->();
        PublicInbox::InboxWritable::cleanup($mibx);
 
        my $cmd = [ "-index", "$tmpdir/m" ];