NAME
MakeMaker::Test::Utils - Utility routines for testing MakeMaker
SYNOPSIS
use MakeMaker::Test::Utils;
my $perl = which_perl;
perl_lib;
my $makefile = makefile_name;
my $makefile_back = makefile_backup;
my $make = make;
my $make_run = make_run;
make_macro($make, $targ, %macros);
my $mtime = calibrate_mtime;
my $out = run($cmd);
DESCRIPTION
A consolidation of little utility functions used through out the MakeMaker test suite.
Functions
The following are exported by default.
- which_perl
-
my $perl = which_perl;
Returns a path to perl which is safe to use in a command line, no matter where you chdir to.
- perl_lib
-
perl_lib;
Sets up environment variables so perl can find its libraries.
- makefile_name
-
my $makefile = makefile_name;
MakeMaker doesn't always generate 'Makefile'. It returns what it should generate.
- makefile_backup
-
my $makefile_old = makefile_backup;
Returns the name MakeMaker will use for a backup of the current Makefile.
- make
-
my $make = make;
Returns a good guess at the make to run.
- make_run
-
my $make_run = make_run;
Returns the make to run as with make() plus any necessary switches.
- make_macro
-
my $make_cmd = make_macro($make, $target, %macros);
Returns the command necessary to run $make on the given $target using the given %macros.
my $make_test_verbose = make_macro(make_run(), 'test', TEST_VERBOSE => 1);
This is important because VMS's make utilities have a completely different calling convention than Unix or Windows.
%macros is actually a list of tuples, so the order will be preserved.
- calibrate_mtime
-
my $mtime = calibrate_mtime;
When building on NFS, file modification times can often lose touch with reality. This returns the mtime of a file which has just been touched.
- run
-
my $out = run($command); my @out = run($command);
Runs the given $command as an external program returning at least STDOUT as $out. If possible it will return STDOUT and STDERR combined as you would expect to see on a screen.
AUTHOR
Michael G Schwern <schwern@pobox.com>