Author: geoff
Date: Wed Jun 28 08:21:53 2006
New Revision: 417787
URL: http://svn.apache.org/viewvc?rev=417787&view=rev
Log:
tweak Apache-Test settings a bit so that things
are properly configured and skipped if prereqs
are missing.
Added:
perl/Apache-SizeLimit/trunk/t/apache/
perl/Apache-SizeLimit/trunk/t/apache/all.t
Removed:
perl/Apache-SizeLimit/trunk/t/TEST.PL
Modified:
perl/Apache-SizeLimit/trunk/MANIFEST
perl/Apache-SizeLimit/trunk/Makefile.PL
Modified: perl/Apache-SizeLimit/trunk/MANIFEST
URL:
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/MANIFEST?rev=417787&r1=417786&r2=417787&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/MANIFEST (original)
+++ perl/Apache-SizeLimit/trunk/MANIFEST Wed Jun 28 08:21:53 2006
@@ -8,6 +8,6 @@
RELEASE
SUPPORT
lib/Apache/SizeLimit.pm
-t/TEST.PL
t/pod.t
t/response/TestApache/basic.pm
+t/apache/all.t
Modified: perl/Apache-SizeLimit/trunk/Makefile.PL
URL:
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/Makefile.PL?rev=417787&r1=417786&r2=417787&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/Makefile.PL (original)
+++ perl/Apache-SizeLimit/trunk/Makefile.PL Wed Jun 28 08:21:53 2006
@@ -18,15 +18,28 @@
elsif ( $Config{'osname'} eq 'MSWin32' ) {
$prereqs{'Win32::API'} = 0;
}
+}
+
+use constant HAS_APACHE_TEST => eval {
+ require Apache::Test;
+ require Apache::TestMM;
+ require Apache::TestRunPerl;
+
+ Apache::TestMM->import(qw(test clean));
+ Apache::TestMM::filter_args();
+
+ my %args = @Apache::TestMM::Argv;
+
+ die 'suitable httpd required'
+ unless ($args{apxs} or $args{httpd} or
+ $ENV{APACHE_TEST_HTTPD} or $ENV{APACHE_TEST_APXS});
+
+ Apache::TestRunPerl->generate_script();
+
+ return Apache::TestMM->test;
+};
- if ( -f 't/apache/basic.t'
- && eval { require Apache::TestMM } ) {
- $prereqs{'Apache::Test'} = 0;
- Apache::TestMM::filter_args();
- Apache::TestMM::generate_script('t/TEST');
- }
-}
WriteMakefile( VERSION_FROM => "lib/Apache/SizeLimit.pm",
NAME => "Apache::SizeLimit",
@@ -47,4 +60,24 @@
EOF
return $string;
+}
+
+sub MY::test {
+
+ my $test = shift->MM::test(@_);
+
+ return HAS_APACHE_TEST if HAS_APACHE_TEST;
+
+ return $test;
+}
+
+sub MY::clean {
+
+ if (HAS_APACHE_TEST) {
+ require Apache::TestMM;
+
+ return Apache::TestMM::clean(@_);
+ }
+
+ return shift->MM::clean(@_);
}
Added: perl/Apache-SizeLimit/trunk/t/apache/all.t
URL:
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/apache/all.t?rev=417787&view=auto
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/apache/all.t (added)
+++ perl/Apache-SizeLimit/trunk/t/apache/all.t Wed Jun 28 08:21:53 2006
@@ -0,0 +1,34 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Config;
+use Apache::Test;
+
+# skip all tests in this directory unless mod_perl is enabled
+plan tests => 1, \&my_need;
+
+ok 1;
+
+sub my_need {
+
+ my $ok = 1;
+
+ if ( $Config{'osname'} eq 'linux' ) {
+ $ok = need_module('Linux::Pid');
+ if ( -e '/proc/self/smaps' ) {
+ $ok &= need_module('Linux::Smaps');
+ }
+ }
+ elsif ( $Config{'osname'} =~ /(bsd|aix|darwin)/i ) {
+ $ok &= need_module('BSD::Resource');
+ }
+ elsif ( $Config{'osname'} eq 'MSWin32' ) {
+ $ok &= need_module('Win32::API');
+ }
+
+ $ok &= need_module('mod_perl.c');
+
+ $ok &= need_min_apache_version(1);
+
+ return $ok;
+}