t/www_listing.t | 34 ++++++++++++++++++++-------------- diff --git a/t/www_listing.t b/t/www_listing.t index bf35530f3494c0161597a60e50ca0a8c8ade57b0..6a2892de9b827fe6a2e47bd0ef10cf48a3ea4c82 100644 --- a/t/www_listing.t +++ b/t/www_listing.t @@ -122,22 +122,27 @@ tiny_test($json, $host, $port); my $grok_pull = which('grok-pull') or skip('grok-pull not available', 12); + my ($grok_version) = (xqx([$grok_pull, "--version"]) + =~ /(\d+)\.(?:\d+)(?:\.(\d+))?/); + $grok_version >= 2 or + skip('grok-pull v2 or later not available', 12); ok(mkdir("$tmpdir/mirror"), 'prepare grok mirror dest'); open $fh, '>', "$tmpdir/repos.conf" or die; print $fh <<"" or die; -# You can pull from multiple grok mirrors, just create -# a separate section for each mirror. The name can be anything. -[test] +[core] +toplevel = $tmpdir/mirror +manifest = $tmpdir/local-manifest.js.gz +[remote] site = http://$host:$port -manifest = http://$host:$port/manifest.js.gz -toplevel = $tmpdir/mirror -mymanifest = $tmpdir/local-manifest.js.gz +manifest = \${site}/manifest.js.gz +[pull] +[fsck] close $fh or die; xsys($grok_pull, '-c', "$tmpdir/repos.conf"); - is($? >> 8, 127, 'grok-pull exit code as expected'); + is($? >> 8, 0, 'grok-pull exit code as expected'); for (qw(alt bare v2/git/0.git v2/git/1.git v2/git/2.git)) { ok(-d "$tmpdir/mirror/$_", "grok-pull created $_"); } @@ -146,18 +151,19 @@ # support per-inbox manifests, handy for v2: # /$INBOX/v2/manifest.js.gz open $fh, '>', "$tmpdir/per-inbox.conf" or die; print $fh <<"" or die; -# You can pull from multiple grok mirrors, just create -# a separate section for each mirror. The name can be anything. -[v2] +[core] +toplevel = $tmpdir/per-inbox +manifest = $tmpdir/per-inbox-manifest.js.gz +[remote] site = http://$host:$port -manifest = http://$host:$port/v2/manifest.js.gz -toplevel = $tmpdir/per-inbox -mymanifest = $tmpdir/per-inbox-manifest.js.gz +manifest = \${site}/v2/manifest.js.gz +[pull] +[fsck] close $fh or die; ok(mkdir("$tmpdir/per-inbox"), 'prepare single-v2-inbox mirror'); xsys($grok_pull, '-c', "$tmpdir/per-inbox.conf"); - is($? >> 8, 127, 'grok-pull exit code as expected'); + is($? >> 8, 0, 'grok-pull exit code as expected'); for (qw(v2/git/0.git v2/git/1.git v2/git/2.git)) { ok(-d "$tmpdir/per-inbox/$_", "grok-pull created $_"); }