This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



Apache::TestMM(3)                    User Contributed Perl Documentation                   Apache::TestMM(3)



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::filter_args();

         # autogenerate the script
         Apache::TestMM::generate_script('t/TEST');

DESCRIPTION
       "Apache::TestMM" provides wrappers for the "ExtUtils::MakeMaker" craft, making it easier to extend
       the autogenerated Makefile with "Apache::Test".

FUNCTIONS
       "import"

         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.

       "filter_args"

         push @ARGV, '-apxs', $apxs_path;
         Apache::TestMM::filter_args();
         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::filter_args()" 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', $apxs_path;

       When:

         Apache::TestMM::generate_script('t/TEST');

       is called, "Apache::Test"-specific options extracted by "Apache::TestMM::filter_args()" 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 mod_perl shared object (if your mod_perl
       is built as DSO), "-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 README file, especially the "-apxs" and
       "-httpd" options.

       "generate_script"

         Apache::TestMM::generate_script('t/TEST');

       "generate_script()" 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 "filter_args()" called from Makefile.PL, special fixup code, etc.



perl v5.10.0                                     2007-11-11                                Apache::TestMM(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.