From: James E Keenan Date: Tue, 2 Nov 2021 23:13:39 +0000 (+0000) Subject: Make the expected() utility more closely match context_info() X-Git-Tag: rt139823^0 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=0f9ea972f35aa9749419b792f2a673288d9a63ca;hp=0f9ea972f35aa9749419b792f2a673288d9a63ca;p=perl%2Fmodules%2FScope-Upper.git Make the expected() utility more closely match context_info() context_info() returns $warnings::Bits{all} when the warnings for a context is pWARN_ALL, while caller() returns WARN_ALLstring. The test tried to avoid loading any modules that registered warning categories to avoid this making a difference, but DynaLoader is needed to load Scope::Upper, and DynaLoader uses vars.pm which registers a warnings category. This wasn't a problem when the default warning mask wasn't used up to a byte boundary, but adding the experimental category in Perl 5 commit 3b54923c did align the warning mask on a byte boundary, leading to this test failing. Specifically, handle case where warnings mask contains only "\x55" bytes. Return $warnings::Bits{all} in that case. As suggested by Tony Cook in: https://rt.cpan.org/Ticket/Display.html?id=139823 BBC ticket: https://github.com/Perl/perl5/issues/19212 Most of commit message suggested by Tony Cook in: https://github.com/jkeenan/p5-Scope-Upper/pull/1#issuecomment-968375955 ---