- New upstream release 0.025
- Prereqs lowered from required to suggested:
- CPAN::Meta::Check
- CPAN::Meta::Requirements
- Tests are now quieter to avoid causing confusion, by suppressing the
printing of stderr in tests
- New upstream release 0.023
- Properly handle propagating warnings to previously declared handlers that
are not coderefs (i.e. a sub name, or the magic DEFAULT and IGNORE)
- New upstream release 0.022
- Propagate all warnings to any previously-declared __WARN__ handlers
(unlike with __DIE__, merely calling warn() is not sufficient)
- New upstream release 0.021
- Add a x_breaks entry for conflicting versions of File::pushd that
inadvertently call our exported warnings() rather than invoking
warnings.pm, and documented this undesired interaction
- New upstream release 0.017
- Handle other warning handlers passing us partial warning messages by
re-adding the source file and line number
- Use %license
- New upstream release 0.15
- Adjusted packaging and tests to become perl-5.6 friendly, including only
using core or dual-lifed prerequisites
- Switch to ExtUtils::MakeMaker flow
- New upstream release 0.009
- Fixed error in synopsis (we do not export anything by default)
- A caveat added to the documentation regarding embedding warning checks
inside another sub
- ':no_end_test' now also covers side effects of done_testing, as well as
END blocks, making it possible to use the warning(s) subs without having an
end warning test while using done_testing (necessary when combining with
the 'if' pragma)
- END tests will not be added by a subequent use of Test::Warnings if a
previous one passed ':no_end_test'
- Update dependencies
If you've ever tried to use Test::NoWarnings to confirm there are no warnings
generated by your tests, combined with the convenience of done_testing to not
have to declare a test count, you'll have discovered that these two features do
not play well together, as the test count will be calculated before the
warnings test is run, resulting in a TAP error (see examples/test_nowarnings.pl
in this distribution for a demonstration).
This module is intended to be used as a drop-in replacement for
Test::NoWarnings: it also adds an extra test, but runs this test before
done_testing calculates the test count, rather than after. It does this by
hooking into done_testing as well as via an END block. You can declare a plan,
or not, and things will still Just Work.
It is actually equivalent to:
use Test::NoWarnings 1.04 ':early';
as warnings are still printed normally as they occur. You are safe, and
enthusiastically encouraged, to perform a global search-replace of the above
with use Test::Warnings; whether or not your tests have a plan.