Security Advisories (1)
CVE-2025-40909 (2025-05-30)

Perl threads have a working directory race condition where file operations may target unintended paths. If a directory handle is open at thread creation, the process-wide current working directory is temporarily changed in order to clone that handle for the new thread, which is visible from any third (or more) thread already running. This may lead to unintended operations such as loading code or accessing files from unexpected locations, which a local attacker may be able to exploit. The bug was introduced in commit 11a11ecf4bea72b17d250cfb43c897be1341861e and released in Perl version 5.13.6

NAME

Test2::Plugin - Documentation for plugins

DESCRIPTION

Plugins are packages that cause behavior changes, or other side effects for the test file that loads them. They should not export any functions, or provide any tools. Plugins should be distinct units of functionality.

If you wish to combine behavior changes with tools then you should write a Plugin, a Tools module, and a bundle that loads them both.

FAQ

Should I subclass Test2::Plugin?

No. Currently this class is empty. Eventually we may want to add behavior, in which case we do not want anyone to already be subclassing it.

HOW DO I WRITE A PLUGIN?

Writing a plugin is not as simple as writing an Test2::Bundle, or writing Test2::Tools. Plugins alter behavior, or cause desirable side-effects. To accomplish this you typically need a custom import() method that calls one or more functions provided by the Test2::API package.

If you want to write a plugin you should look at existing plugins, as well as the Test2::API and Test2::Hub documentation. There is no formula for a Plugin, they are generally unique, however consistent rules are that they should not load other plugins, or export any functions.

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

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/