You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs-cvs@perl.apache.org by st...@apache.org on 2003/07/22 13:01:32 UTC
cvs commit: modperl-docs/src/docs/general/testing testing.pod
stas 2003/07/22 04:01:32
Modified: src/docs/general/testing testing.pod
Log:
a new section: Inheriting from System-wide httpd.conf
Revision Changes Path
1.22 +40 -0 modperl-docs/src/docs/general/testing/testing.pod
Index: testing.pod
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/general/testing/testing.pod,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- testing.pod 28 May 2003 02:01:28 -0000 1.21
+++ testing.pod 22 Jul 2003 11:01:32 -0000 1.22
@@ -1121,6 +1121,46 @@
=back
+=head2 Inheriting from System-wide httpd.conf
+
+C<Apache::Test> tries to find a global I<httpd.conf> file and inherit
+its configuration when autogenerating I<t/conf/httpd.conf>. For
+example it picks C<LoadModule> directives.
+
+It's possible to explicitly specify which file to inherit from using
+the C<-httpd_conf> option. For example during the build:
+
+ % perl Makefile.PL -httpd_conf /path/to/httpd.conf
+
+or during the configuration:
+
+ % t/TEST -conf -httpd_conf /path/to/httpd.conf
+
+Certain projects need to have a control of what gets inherited. For
+example if your global I<httpd.conf> includes a directive:
+
+ LoadModule apreq_module "/home/joe/apache2/modules/mod_apreq.so"
+
+And you want to run the test suite for C<Apache::Request> 2.0,
+inheriting the above directive will load the pre-installed
+I<mod_apreq.so> and not the newly built one, which is wrong. In such
+cases it's possible to tell the test suite which modules shouldn't be
+inheritated. In our example C<Apache-Request> has the following code
+in F<t/TEST.PL>:
+
+ use base 'Apache::TestRun';
+ $Apache::TestTrace::Level = 'debug';
+ main::->new->run(@ARGV);
+
+ sub pre_configure {
+ my $self = shift;
+ # Don't load an installed mod_apreq
+ Apache::TestConfig::autoconfig_skip_module_add('mod_apreq.c');
+ }
+
+it subclasses C<Apache::TestRun> and overrides the I<pre_configure>
+method, which excludes the module I<mod_apreq.c> from the list of
+inherited modules (notice that the extension is I<.c>).
=head1 Apache::Test Framework's Architecture
---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org