Skip to content

Test-More/Test2-Plugin-UUID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Test2::Plugin::UUID - Use REAL UUIDs in Test2

DESCRIPTION

Test2 normally uses unique IDs generated by appending pid, thread-id, and an incrementing integer. These work fine most of the time, but are not sufficient if you want to keep a database of events, in that case a real UUID is much more useful.

SYNOPSIS

use Test2::Plugin::UUID;

This is also useful at the command line for 1-time use:

$ perl -MTest2::Plugin::UUID path/to/test.t

CONTROLLING WARNINGS AND BACKENDS

You can turn off backend warnings, and choose your own backend order preference:

use Test2::Plugin::UUID warn => 0, backends => ['UUID', ...];

Or at the command line:

perl -MTest2::Plugin::UUID=warn,0 path/to/test.t

Or via env vars:

TEST2_UUID_BACKEND="UUID,Data::UUID::MT" TEST2_UUID_WARN=0 perl path/to/test.t

Normally warnings will be issued if UUID::Tiny or Data::UUID are used as the first is slow and the second is not suitible for database keys.

BACKENDS

One of the following modules will be used under the hood, they are listed here in order of preference.

  • UUID >= 0.35

    When possible this module will use the UUID cpan module, but it must be version 0.35 or greater to avoid a fork related bug. It will generate version 7 UUIDs as they are most suitible for database entry.

  • Data::UUID::MT

    Data::UUID::MT is the second choice for UUID generation. With this module version 4 UUIDs are generated as they are fairly usable in databases.

  • UUID::Tiny - slow

    UUID::Tiny is used if the previous 2 are not available. This module is pure perl and thus could be slower than the others. Version 4 UUIDs are generated when this module is used.

    A warning will be issued with this module. You can surpress the warning with either the $TEST2_UUID_NO_WARN environment variable or the warn => 0 import argument.

  • Data::UUID - Not Suitible for Databases

    This is the last resort module. This generates UUIDs fast, but they are of a type/version that is not suitible for database keys.

    A warning will be issued with this module. You can surpress the warning with either the $TEST2_UUID_NO_WARN environment variable or the warn => 0 import argument.

SOURCE

The source code repository for Test2-Plugin-UUID can be found at https://github.com/Test-More/Test2-Plugin-UUID/.

MAINTAINERS

AUTHORS

COPYRIGHT

Copyright Chad Granum [email protected].

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/