Test2::...arnings(3pm)

πŸ’– NAME πŸ’–

Okay bestie, welcome to the Test2::...arnings(3pm) page β€” this is the Perl Programmers Reference Guide version, and the module is Test2::Tools::Warnings: Tools to verify warnings ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

This is a collection of tools that can be used to test code that issues warnings. That’s the whole vibe, fr fr: warning-making code goes in, these little helpers check what came out 🫢

✨ SYNOPSIS ✨

use Test2::Tools::Warnings qw/warns warning warnings no_warnings/;

ok(warns { warn 'a' }, "the code warns");
ok(!warns { 1 }, "The code does not warn");
is(warns { warn 'a'; warn 'b' }, 2, "got 2 warnings");

ok(no_warnings { ... }, "code did not warn");

like(
    warning { warn 'xxx' },
    qr/xxx/,
    "Got expected warning"
);

is(
    warnings { warn "a\n"; warn "b\n" },
    [
        "a\n",
        "b\n",
    ],
    "Got 2 specific warnings"
);

πŸŽ€ EXPORTS πŸŽ€

All subs are exported by default β€” literally all of them, no extra import drama πŸ’…

  • $count = warns { ... } β€” returns the count of warnings produced by the block. This will always return 0, or a positive integer.
  • $warning = warning { ... } β€” returns the first warning generated by the block. If the block produces more than one warning, they will all be shown as notes, and an actual warning will tell you about it.
  • $warnings_ref = warnings { ... } β€” returns an arrayref with all the warnings produced by the block. This will always return an array reference. If there are no warnings, this will return an empty array reference.
  • $bool = no_warnings { ... } β€” return true if the block has no warnings. Returns false if there are warnings.

🌸 SOURCE 🌸

The source code repository for Test2-Suite can be found at https://github.com/Test-More/test-more/ πŸ¦‹

πŸ’… MAINTAINERS πŸ’…

Chad Granum <exodist@cpan.org>

πŸ‘‘ AUTHORS πŸ‘‘

Chad Granum <exodist@cpan.org>

Copyright Chad Granum <exodist@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/


That’s the whole page, bestie! It comes from perl v5.42.3, dated 2026-11-03, and yes the page title is Test2::...arnings(3pm) β€” now go verify those warnings, periodt πŸ’–πŸ”₯

πŸ“¦ where this page comes from