X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fv2mirror.t;h=a097a7f3a2cd0da80f109ec098210c034d0eef43;hb=3c39f9c942a6975245fda878e9b957d8d3367662;hp=ef9a5405a0dff95cb631731a26280e9addc73f5b;hpb=b0e5062d43a96372801713ef78a78d6a1bc852bc;p=public-inbox.git diff --git a/t/v2mirror.t b/t/v2mirror.t index ef9a5405..a097a7f3 100644 --- a/t/v2mirror.t +++ b/t/v2mirror.t @@ -1,4 +1,4 @@ -# Copyright (C) 2018 all contributors +# Copyright (C) 2018-2019 all contributors # License: AGPL-3.0+ use strict; use warnings; @@ -7,7 +7,7 @@ require './t/common.perl'; require_git(2.6); # Integration tests for HTTP cloning + mirroring -foreach my $mod (qw(Plack::Util Plack::Builder Danga::Socket +foreach my $mod (qw(Plack::Util Plack::Builder HTTP::Date HTTP::Status Search::Xapian DBD::SQLite IPC::Run)) { eval "require $mod"; @@ -17,6 +17,7 @@ use File::Temp qw/tempdir/; use IO::Socket; use POSIX qw(dup2); use_ok 'PublicInbox::V2Writable'; +use PublicInbox::InboxWritable; use PublicInbox::MIME; use PublicInbox::Config; # FIXME: too much setup @@ -27,7 +28,7 @@ my $pi_config = "$tmpdir/config"; open my $fh, '>', $pi_config or die "open($pi_config): $!"; print $fh <<"" or die "print $pi_config: $!"; [publicinbox "v2"] - mainrepo = $tmpdir/in + inboxdir = $tmpdir/in address = test\@example.com close $fh or die "close($pi_config): $!"; @@ -59,17 +60,11 @@ my $epoch_max = $v2w->{epoch_max}; ok($epoch_max > 0, "multiple epochs"); $v2w->done; -my %opts = ( - LocalAddr => '127.0.0.1', - ReuseAddr => 1, - Proto => 'tcp', - Listen => 1024, -); my ($sock, $pid); END { kill 'TERM', $pid if defined $pid }; $! = 0; -$sock = IO::Socket::INET->new(%opts); +$sock = tcp_server(); ok($sock, 'sock created'); my $cmd = [ "$script-httpd", "--stdout=$tmpdir/out", "--stderr=$tmpdir/err" ]; ok(defined($pid = spawn_listener(undef, $cmd, [ $sock ])), @@ -79,11 +74,13 @@ $sock = undef; my @cmd; foreach my $i (0..$epoch_max) { - @cmd = (qw(git clone --mirror -q), "http://$host:$port/v2/$i", + my $sfx = $i == 0 ? '.git' : ''; + @cmd = (qw(git clone --mirror -q), + "http://$host:$port/v2/$i$sfx", "$tmpdir/m/git/$i.git"); - is(system(@cmd), 0, 'cloned OK'); - ok(-d "$tmpdir/m/git/$i.git", 'mirror OK'); + is(system(@cmd), 0, "cloned $i.git"); + ok(-d "$tmpdir/m/git/$i.git", "mirror $i OK"); } @cmd = ("$script-init", '-V2', 'm', "$tmpdir/m", 'http://example.com/m', @@ -91,7 +88,7 @@ foreach my $i (0..$epoch_max) { is(system(@cmd), 0, 'initialized public-inbox -V2'); is(system("$script-index", "$tmpdir/m"), 0, 'indexed'); -my $mibx = { mainrepo => "$tmpdir/m", address => 'alt@example.com' }; +my $mibx = { inboxdir => "$tmpdir/m", address => 'alt@example.com' }; $mibx = PublicInbox::Inbox->new($mibx); is_deeply([$mibx->mm->minmax], [$ibx->mm->minmax], 'index synched minmax');