From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id B0EB51F9FD; Sun, 21 Feb 2021 22:20:13 +0000 (UTC) Date: Sun, 21 Feb 2021 22:20:13 +0000 From: Eric Wong To: Kyle Meyer Cc: meta@public-inbox.org, Konstantin Ryabitsev Subject: Re: [PATCH 3/3] t/www_listing: require grok-pull version 2 or later Message-ID: <20210221222013.GA31960@dcvr> References: <20210221214612.15071-1-kyle@kyleam.com> <20210221214612.15071-4-kyle@kyleam.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210221214612.15071-4-kyle@kyleam.com> List-Id: Kyle Meyer wrote: > 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. > --- > > Another option would be to generate an appropriate v1 or v2 > configuration based on which Grokmirror version is detected. I'm > not sure that's worth the trouble though. Ugh, some of these incompatible changes to grokmirror are really annoying and will break existing scripts when I upgrade. (and I suspect this affects other people, too). +Cc Konstantin In any case, I suppose the damage is done and losing some coverage for now on my Debian stable systems is fine... > t/www_listing.t | 34 ++++++++++++++++++++-------------- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/t/www_listing.t b/t/www_listing.t > index bf35530f3494c016..6a2892de9b827fe6 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'); In particular, I'm relying on this exit code in at least one of my scripts. Now I'll have to RTFM to figure out if I should be testing any other exit codes or something else... Anyways, applied and pushed as 44138460e53f90426476fa0c323fc15ef17568df for now; but not happy this was needed. Thanks.