> Apache::Test looks like it might be the way to go.  But it doesn't seem
> to play very nicely with Test::More, 

that's not really true.  yes, Apache-Test was based on Test.pm (for various
reasons I won't get into here) but I added Test::More support and use it all
the time.  grep for stuff like this in the docs

  use Apache::Test qw(-withtestmore)

> and comments like this in the
> documentation:
> 
>   Use Apache::TestMM in your Makefile.PL to set up your distribution
>   for testing.
> 
> give me the fear.  I've already got my distribution set up, and it
> doesn't use ExtUtils::MakeMaker...

yeah, unfortunately a Makefile.PL is really the simplest way to set A-T up.
 you can also use Module::Build if you prefer.

without either of those options you kind of need to resort to a bit of
trickery.  see, for example
  http://www.modperlcookbook.org/~geoff/slides/OSCon/2005/OSCon-2005-code.tar.gz

and take a look at mod_example_ipc-install.  it uses some gmake trickery so
that 'make' invokes 'perl Makefile.PL' and commands unrecognized by the
lowest-level makefile get passed to the generated Makefile.  yeah, I know,
but it's the best I've been able to come up with for people who are afraid
of a Makefile.PL.

> 
> Am I setting myself up for pain, or is there a nice simple approach to
> doing this that I've overlooked?

I use Apache-Test all the time - every day, in fact, for a very large
codebase with a very complex setup (way more complex than the makefile
trickery I just described).  I pretty much hacked together a series of make
targets that pull in the various libraries I need, does the proper overlays,
etc.  granted, it's for $dayjob, where the environment is considerably more
fixed than a distrobution would allow for.

but, outside of all that, you can pull a simple example of Apache-Test in
action here:

  http://people.apache.org/~geoff/Apache-Test-skeleton-mp1.tar.gz

or

  http://people.apache.org/~geoff/Apache-Test-skeleton-mp2.tar.gz

run

  $ perl Makefile.PL -httpd /path/to/your/httpd

and see what the various test* targets and the resulting t/TEST file look
like - you could pretty much copy the t/TEST file figure out what features
of the make targets you want to keep.  in reality, once the t/TEST file has
been generated it runs everything, so if you (or your userbase) is
intelligent enough having A-T in @INC and t/TEST should be all you need to
actually use Apache-Test.

HTH

--Geoff

Reply via email to