Test2:...:SRand(3perl) Perl Programmers Reference Guide Test2:...:SRand(3perl)
NAME
Test2::Plugin::SRand - Control the random seed for more controlled test
environments.
DESCRIPTION
This module gives you control over the random seed used for your unit
tests. In some testing environments the random seed can play a major
role in results.
The default configuration for this module will seed srand with the local
date. Using the date as the seed means that on any given day the random
seed will always be the same, this means behavior will not change from
run to run on a given day. However the seed is different on different
days allowing you to be sure the code still works with actual
randomness.
The seed is printed for you on failure, or when the harness is verbose.
You can use the "T2_RAND_SEED" environment variable to specify the seed.
You can also provide a specific seed as a load-time argument to the
plugin.
SYNOPSIS
Loading the plugin is easy, and the defaults are sane:
use Test2::Plugin::SRand;
Custom seed:
use Test2::Plugin::SRand seed => 42;
NOTE ON LOAD ORDER
If you use this plugin you probably want to use it as the first, or
near-first plugin. "srand" is not called until the plugin is loaded, so
other plugins loaded first may already be making use of random numbers
before your seed takes effect.
CAVEATS
When srand is on (default) it can cause problems with things like
File::Temp which will end up attempting the same "random" filenames for
every test process started on a given day (or sharing the same seed).
SOURCE
The source code repository for Test2-Suite can be found at
https://github.com/Test-More/Test2-Suite/.
MAINTAINERS
Chad Granum <exodist@cpan.org>
AUTHORS
Chad Granum <exodist@cpan.org>
COPYRIGHT
Copyright 2018 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/
perl v5.40.1 2026-08-30 Test2:...:SRand(3perl)
Generated by dwww version 1.16 on Sat Oct 3 07:36:50 CEST 2026.