Test::BrewBuild - Backend module for the brewbuild command-line program.
This module is the backend for the brewbuild script that is accompanied by this module. For almost all cases, you should be using that script instead of using this module directly (so go read that documentation for real use cases), as this module is just a helper for the installed script, and isn't designed for end-user use.
brewbuild
It provides you the ability to perform your unit tests across all of your Perlbrew (Unix) or Berrybrew (Windows) Perl instances.
For Windows, you'll need to install Berrybrew (see "SEE ALSO" for details). For Unix, you'll need Perlbrew.
It allows you to remove and reinstall on each test run, install random versions of perl, or install specific versions.
All unit tests are run against all installed instances.
use Test::BrewBuild; # default settings my %args = ( debug => undef, remove => undef, version => undef, new => undef, plugin => undef, on => undef, ); my $bb = Test::BrewBuild->new(%args); my @perls_available = $bb->perls_available; my @perls_installed = $bb->perls_installed; # remove all currently installed instances of perl, less the one you're # using $bb->instance_remove; # install a specific version (uses 'version' param, or 'new'. If 'new' # is set to a positive integer, we'll randomly install that many instances) $bb->instance_install; # execute across all perl instances, and dump the output $bb->run;
Returns a new Test::BrewBuild object. See the documentation for the berrybrew script to understand what the arguments are and do.
Test::BrewBuild
berrybrew
Fetches and installs a custom plugin which contains the code that perlbrew/berrybrew exec will execute. If not used or the module specified can't be located (or it contains errors), we fall back to the default bundled Test::BrewBuild::Plugin::DefaultExec (which is the canonical example for writing new plugins).
perlbrew/berrybrew exec
Note that you can send in a custom plugin *.pm filename to plugin as opposed to a module name if the module isn't installed. If the file isn't in the current working directory, send in the relative or full path.
*.pm
Returns an array containing all perls available, whether already installed or not.
Returns an array of the names of all perls currently installed under your *brew setup.
If 'version' param is set, will install that specific version. If 'new' param is set to a positive integer, will install that many random versions of perl.
Uninstalls all currently installed perls, less the one you are currently 'switch'ed or 'use'd to.
Prepares the run and calls exec() to run all tests against all installed perls.
exec()
Only called by run(). Processes and displayes test results.
run()
Generates the test executable in a format ready to run against all installed perls, and processes it against *brew exec.
*brew exec
Helper method, returns true if the current OS is Windows, false if not.
Helper method, returns the appropriate *brew calls relative to the platform we're working on.
Developer method, returns an instance of the packages log object for creating child log objects.
Steve Bertrand, <steveb at cpan.org>
<steveb at cpan.org>
Any and all feedback and help is appreciated. A Pull Request is the preferred method of receiving changes (https://github.com/stevieb9/p5-test-brewbuild), but regular patches through the bug tracker, or even just email discussions are welcomed.
https://github.com/stevieb9/p5-test-brewbuild/issues
You can find documentation for this module and its accompanying script with the perldoc command:
perldoc Test::BrewBuild perldoc brewbuild
Berrybrew for Windows:
https://github.com/dnmfarrell/berrybrew
Perlbrew for Unixes:
http://perlbrew.pl
Copyright 2016 Steve Bertrand.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Test::BrewBuild, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::BrewBuild
CPAN shell
perl -MCPAN -e shell install Test::BrewBuild
For more information on module installation, please visit the detailed CPAN module installation guide.