diff options
author | Kyle Meyer <kyle@kyleam.com> | 2021-02-21 16:46:11 -0500 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-02-21 22:16:08 +0000 |
commit | 44138460e53f90426476fa0c323fc15ef17568df (patch) | |
tree | d2e47ac6a907fea051e011cfdd691389f7cfc086 /t/www_listing.t | |
parent | dab15b41723dd4b00ea3cc90bb7aac943053dcdc (diff) | |
download | public-inbox-44138460e53f90426476fa0c323fc15ef17568df.tar.gz |
The grok-pull-based tests in www_listing are incompatible with Grokmirror v2 in two ways: the generated configuration format and the expected exit codes. Update the tests to work with v2, and skip them for earlier versions. This was tested with the latest release of Grokmirror, v2.0.7. Note that the "pull" and "fsck" sections are required even though they're empty.
Diffstat (limited to 't/www_listing.t')
-rw-r--r-- | t/www_listing.t | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/t/www_listing.t b/t/www_listing.t index bf35530f..6a2892de 100644 --- a/t/www_listing.t +++ b/t/www_listing.t @@ -122,22 +122,27 @@ SKIP: { 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] -site = http://$host:$port -manifest = http://$host:$port/manifest.js.gz +[core] toplevel = $tmpdir/mirror -mymanifest = $tmpdir/local-manifest.js.gz +manifest = $tmpdir/local-manifest.js.gz +[remote] +site = http://$host:$port +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 @@ mymanifest = $tmpdir/local-manifest.js.gz # /$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] -site = http://$host:$port -manifest = http://$host:$port/v2/manifest.js.gz +[core] toplevel = $tmpdir/per-inbox -mymanifest = $tmpdir/per-inbox-manifest.js.gz +manifest = $tmpdir/per-inbox-manifest.js.gz +[remote] +site = http://$host:$port +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 $_"); } |