develooper Front page | perl.perl5.porters | Postings from November 2017

Re: Fwd: Re: BBC: DBM::Deep

Thread Previous | Thread Next
November 17, 2017 05:58
Re: Fwd: Re: BBC: DBM::Deep
Message ID:
James E Keenan wrote:
>Assignment of stale reference at t/39_singletons.t line 68.
># Tests were run but no plan was declared and done_testing() was not seen.
># Looks like your test exited with 255 just after 11.
>t/39_singletons.t ............... 
>Dubious, test returned 255 (wstat 65280, 0xff00)
>All 11 subtests passed 

This is due to the change for non-core warning categories, commit
006c1a1dbd541b84351332b0d315508f789f3bd1.  There's a non-core warning
here, actually in a core category, but necessarily using warnif logic.
The problem is that DBM::Deep doesn't use warnings::warnif(), but
instead replicates its logic, looking into the bitset itself.  It's been
tripped up by the regularisation of the bits for the "all" category,
which requires a change in logic, which of course has been changed in

The change in core behaviour is intentional and should remain.  As long as
DBM::Deep has its own warnif logic (which it has for a valid reason, see
comment in its source) it needs to keep the hack up to date.  Fortunately,
the change required in DBM::Deep is very easy, not even requiring any Perl
version condition.  It just needs to drop the checks of the bits for the
"all" category.  Those checks are now not correct, but interestingly
they also don't do anything on older Perl versions.  They're correct on
older Perl versions, but only relevant for non-core warning categories,
and DBM::Deep only uses this duplicated warnif on a core category.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About