NAME
Apache::TestMM - Provide MakeMaker Wrapper Methods
SYNOPSIS
require Apache::TestMM;
# import MY::test and MY::clean overrides for MM
Apache::TestMM->import(qw(test clean));
# parse command line args
Apache::TestMM::filterargs();
# autogenerate the script
Apache::TestMM::generatescript('t/TEST');
DESCRIPTION
"Apache::TestMM" provides wrappers for the "ExtUtils::MakeMaker" craft,
making it easier to extend the autogenerated Makefile with "Apache::Test". FFUUNNCCTTIIOONNSS ""iimmppoorrtt""use Apache::TestMM qw(test clean);
or:Apache::TestMM->import(qw(test clean));
Imports "MY::" overrides for the default "ExtUtils::MakeMaker" test and clean targets, as if you have defined: sub MY::test {...} sub MY::clean {...}in Makefile.PL. "Apache::TestMM" does this for you so that these
Makefile targets will run the Apache server and the tests for it, and clean up after its mess. ""ffiilltteerraarrggss""push @ARGV, '-apxs', $apxspath;
Apache::TestMM::filterargs();
WriteMakefile(...); When "WriteMakefile()" is called it parses @ARGV, hoping to find special options like "PREFIX=/home/stas/perl". "Apache::Test" accepts a lot of configuration options of its own. When"Apache::TestMM::filterargs()" is called, it removes any
"Apache::Test"-specific options from @ARGV and stores them internally,
so when "WriteMakefile()" is called they aren't in @ARGV and thus won't be processed by "WriteMakefile()". The options can be set when Makefile.PL is called:% perl Makefile.PL -apxs /path/to/apxs
Or you can push them manually to @ARGV from the code:push @ARGV, '-apxs', $apxspath;
When:Apache::TestMM::generatescript('t/TEST');
is called, "Apache::Test"-specific options extracted by
"Apache::TestMM::filterargs()" are written to the autogenerated file.
In our example, the autogenerated t/TEST will include:%Apache::TestConfig::Argv = qw(apxs /path/to/apxs);
which is going to be used by the "Apache::Test" runtime.The other frequently used options are: "-httpd", telling where to find
the httpd (usually when the "-apxs" option is not used), "-libmodperl"
to use a specific modperl shared object (if your modperl is built asDSO), "-maxclients" to change the default number of the configured
"MaxClients" directive, "-port" to start the server on a specific port,
etc. To get the complete list of available configuration options and their purpose and syntax, run:% perl -MApache::TestConfig -le 'Apache::TestConfig::usage()'
You may wish to document some of these in your application's READMEfile, especially the "-apxs" and "-httpd" options.
""ggeenneerraatteessccrriipptt""Apache::TestMM::generatescript('t/TEST');
"generatescript()" accepts the name of the script to generate and will look for a template with the same name and suffix .PL. So in our example it'll look for t/TEST.PL. The autogenerated script t/TEST will include the contents of t/TEST.PL, and special directives, including any configuration options passed via "filterargs()" called from Makefile.PL, special fixup code, etc.perl v5.8.8 2005-10-20 Apache::TestMM(3)