You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-cvs@httpd.apache.org by st...@apache.org on 2004/12/04 16:39:59 UTC
svn commit: r109804 - /httpd/test/trunk/perl-framework/Apache-Test/Changes /httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL
Author: stas
Date: Sat Dec 4 07:39:58 2004
New Revision: 109804
URL: http://svn.apache.org/viewcvs?view=rev&rev=109804
Log:
require Cwd 2.06 or higher (to solve File::Spec::rel2abs problems
under -T). Enforce the modules version requirements for those who
aren't running under CPAN/CPANPLUS shell)
Modified:
httpd/test/trunk/perl-framework/Apache-Test/Changes
httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL
Modified: httpd/test/trunk/perl-framework/Apache-Test/Changes
Url: http://svn.apache.org/viewcvs/httpd/test/trunk/perl-framework/Apache-Test/Changes?view=diff&rev=109804&p1=httpd/test/trunk/perl-framework/Apache-Test/Changes&r1=109803&p2=httpd/test/trunk/perl-framework/Apache-Test/Changes&r2=109804
==============================================================================
--- httpd/test/trunk/perl-framework/Apache-Test/Changes (original)
+++ httpd/test/trunk/perl-framework/Apache-Test/Changes Sat Dec 4 07:39:58 2004
@@ -8,6 +8,10 @@
=item 1.17-dev
+require Cwd 2.06 or higher (to solve File::Spec::rel2abs problems
+under -T). Enforce the modules version requirements for those who
+aren't running under CPAN/CPANPLUS shell) [Stas]
+
Apache::TestTrace: don't export by default the 'todo' utility's symbol
since it collides with Test::More [Stas]
Modified: httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL
Url: http://svn.apache.org/viewcvs/httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL?view=diff&rev=109804&p1=httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL&r1=109803&p2=httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL&r2=109804
==============================================================================
--- httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL (original)
+++ httpd/test/trunk/perl-framework/Apache-Test/Makefile.PL Sat Dec 4 07:39:58 2004
@@ -54,10 +54,15 @@
Makefile.old
);
+my %prereq = (
+ 'File::Spec' => '0.8',
+ 'Cwd' => '2.06',
+);
+
WriteMakefile(
NAME => 'Apache::Test',
VERSION => $VERSION,
- PREREQ_PM => { 'File::Spec' => '0.8' },
+ PREREQ_PM => \%prereq,
dist => {
COMPRESS => 'gzip -9f', SUFFIX=>'gz',
},
@@ -65,6 +70,45 @@
FILES => "@clean_files",
},
);
+
+# after CPAN/CPANPLUS had a chance to satisfy the requirements,
+# enforce those (for those who run things manually)
+check_prereqs();
+
+sub check_prereqs {
+ my %fail = ();
+ for (keys %prereq) {
+ unless (chk_version($_, $prereq{$_})) {
+ $fail{$_} = $prereq{$_};
+ }
+ }
+ if (%fail) {
+ error "\nThe following Apache-Test dependencies aren't satisfied:",
+ map { "\t$_: $fail{$_}" } keys %fail;
+ error "Install those from http://search.cpan.org and try again";
+ exit 0;
+ }
+}
+
+sub chk_version {
+ my($pkg, $wanted) = @_;
+
+ no strict 'refs';
+ local $| = 1;
+
+ print "Checking for $pkg...";
+ (my $p = $pkg . ".pm") =~ s#::#/#g;
+ eval { require $p;};
+ print("not ok\n$@"), return if $@;
+
+ my $vstr = ${"${pkg}::VERSION"} ? "found v" . ${"${pkg}::VERSION"}
+ : "not found";
+ my $vnum = ${"${pkg}::VERSION"} || 0;
+
+ print $vnum >= $wanted ? "ok\n" : " " . $vstr . "\n";
+
+ $vnum >= $wanted;
+}
sub set_version {
$VERSION = $Apache::Test::VERSION;