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>