NAME

soak - Test Perl modules with multiple Perl releases

SYNOPSIS

soak [options] [perl ...]

--make=program     override name of make program ($Config{make})
--min=version      use at least this version of perl
--mmargs=options   pass options to Makefile.PL (multiple --mmargs
                   possible)
--verbose          be verbose
--nocolor          don't use colored output

DESCRIPTION

The soak utility can be used to test Perl modules with multiple Perl releases or build options. It automates the task of running Makefile.PL and the modules test suite.

It is not primarily intended for cross-platform checking, so don't expect it to work on all platforms.

EXAMPLES

To test your favourite module, just change to its root directory (where the Makefile.PL is located) and run:

soak

This will automatically look for Perl binaries installed on your system.

Alternatively, you can explicitly pass soak a list of Perl binaries:

soak perl5.8.6 perl5.9.2

Last but not least, you can pass it a list of directories to recursively search for Perl binaries, for example:

soak /tmp/perl/install /usr/bin

All of the above examples will run

perl Makefile.PL
make
make test

for your module and report success or failure.

If your Makefile.PL can take arguments, you may also want to test different configurations for your module. You can do so with the --mmargs option:

soak --mmargs=' ' --mmargs='CCFLAGS=-Wextra' --mmargs='enable-debug'

This will run

perl Makefile.PL
make
make test
perl Makefile.PL CCFLAGS=-Wextra
make
make test
perl Makefile.PL enable-debug
make
make test

for each Perl binary.

If you have a directory full of different Perl binaries, but your module isn't expected to work with ancient perls, you can use the --min option to specify the minimum version a Perl binary must have to be chosen for testing:

soak --min=5.8.1

Usually, the output of soak is rather terse, to give you a good overview. If you'd like to see more of what's going on, use the --verbose option:

soak --verbose

COPYRIGHT

Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.

Version 2.x, Copyright (C) 2001, Paul Marquess.

Version 1.x, Copyright (C) 1999, Kenneth Albanowski.

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

SEE ALSO

See Devel::PPPort.