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::Tools::Tiny - Tiny set of tools for unfortunate souls who cannot use Test2::Suite.

DESCRIPTION

You should really look at Test2::Suite. This package is some very basic essential tools implemented using Test2. This exists only so that Test2 and other tools required by Test2::Suite can be tested. This is the package Test2 uses to test itself.

USE Test2::Suite INSTEAD

Use Test2::Suite if at all possible.

EXPORTS

ok($bool, $name)
ok($bool, $name, @diag)

Run a simple assertion.

is($got, $want, $name)
is($got, $want, $name, @diag)

Assert that 2 strings are the same.

isnt($got, $do_not_want, $name)
isnt($got, $do_not_want, $name, @diag)

Assert that 2 strings are not the same.

like($got, $regex, $name)
like($got, $regex, $name, @diag)

Check that the input string matches the regex.

unlike($got, $regex, $name)
unlike($got, $regex, $name, @diag)

Check that the input string does not match the regex.

is_deeply($got, $want, $name)
is_deeply($got, $want, $name, @diag)

Check 2 data structures. Please note that this is a DUMB implementation that compares the output of Data::Dumper against both structures.

diag($msg)

Issue a diagnostics message to STDERR.

note($msg)

Issue a diagnostics message to STDOUT.

skip_all($reason)

Skip all tests.

todo $reason => sub { ... }

Run a block in TODO mode.

plan($count)

Set the plan.

done_testing()

Set the plan to the current test count.

$warnings = warnings { ... }

Capture an arrayref of warnings from the block.

$exception = exception { ... }

Capture an exception.

tests $name => sub { ... }

Run a subtest.

$output = capture { ... }

Capture STDOUT and STDERR output.

Result looks like this:

{
    STDOUT => "...",
    STDERR => "...",
}

SOURCE

The source code repository for Test2 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 https://dev.perl.org/licenses/