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.