develooper Front page | perl.perl5.porters | Postings from March 2021

Re: Devel::NYTProf on blead [issue 18215]

Thread Previous | Thread Next
From:
James E Keenan
Date:
March 21, 2021 22:13
Subject:
Re: Devel::NYTProf on blead [issue 18215]
Message ID:
81a8f656-007d-c5ef-caaa-8eee04a3636e@pobox.com
On 3/21/21 2:35 PM, Ricardo Signes wrote:
> This morning I installed 5.33.8, followed by Task-BeLike-RJBS 
> <https://metacpan.org/release/Task-BeLike-RJBS>, my usual "does it 
> work?" test.  This reminded me that Devel::NYTProf is currently failing 
> on blead.
> 
>   * Perl issue: https://github.com/Perl/perl5/issues/18215
>     <https://github.com/Perl/perl5/issues/18215>
>   * devel-nytprof issue:
>     https://github.com/timbunce/devel-nytprof/issues/143
>     <https://github.com/timbunce/devel-nytprof/issues/143>
> 
> The problem /appears/ to be that due to changes in Exporter (related to 
> "make everything in core use strict"), some of the  tests' very specific 
> expectations are no longer met.  Tim Bunce, author of NYTProf, has said 
> we should not expect him to provide a solo fix.  Devel::NYTProf is not a 
> library we'd like broken when we ship v5.34.0, though!
> 
> Is there anyone who could volunteer to undertake fixing this?  It's 
> plausible that a fix to simply have two sets of expectations, one 
> pre-strict and one post-strict, is reasonable.  We can't really decide 
> that, though, until somebody investigates the specific causes of this 
> breakage.
> 

I think we should (as I was taught in social work school) partialize the 
problem into what we need to do in the short-run to get Devel-NYTProf's 
test suite to pass with perl-5.34, and what we need to do to maintain it 
in the longer-run.

Tim Bunce has put the CPAN distribution into ADOPTME status, but in both 
cases we should try to work as closely as possible with Tim, both 
because of the complexity of the distro and also out of respect for his 
contributions to Perl going back more than 25 years.

As to the short run ...

Only one test file is failing as a whole, though most of the units 
within that file are failing.  There is precedent within the 
Devel-NYTProf test suite for having different versions of a test file 
with different expectations based on Perl version.  For example:

#####
[perlmonger: devel-nytprof] $ diff -c t/test62-tie-a.t t/test62-tie-b.t
*** t/test62-tie-a.t	Sun Mar 21 19:30:15 2021
--- t/test62-tie-b.t	Sun Mar 21 19:30:15 2021
***************
*** 3,12 ****
   use lib qw(t/lib);
   use NYTProfTest;

! plan skip_all => "needs perl >= 5.8.9 or >= 5.10.1"
!     if $] < 5.008009 or $] eq "5.010000";
!
! plan skip_all => "needs perl < 5.21.1 (see t/test62-tie-b.t)" # XXX
!     if $] >= 5.021001;

   run_test_group;
--- 3,9 ----
   use lib qw(t/lib);
   use NYTProfTest;

! plan skip_all => "needs perl >= 5.21.1 (see t/test62-tie-a)"
!     if $] < 5.021001;

   run_test_group;
#####

So it would presumably be legitimate to have to replace the existing 
t/test62-subcaller1.t with two test files:

t/test62-subcaller1-a.t   => perl-5.32 and earlier
t/test62-subcaller1-b.t   => perl-5.34 and later

That wouldn't solve the problem of the overspecificity of the test 
suite, which would be deferred to ...

As to the long run ...

We will probably need a *team* of maintainers for this distro going 
forward -- a team whose members are collectively qualified to work on it 
and who also have Tim's confidence.  In other words, its ADOPTME status 
should not be interpreted as "whoever wants this can have it."

Thank you very much.
Jim Keenan

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About