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