[PATHCH] Scalar::Util::readonly ...
[p5sagit/p5-mst-13.2.git] / utils / perlivp.PL
index 7db1090..2e597c2 100644 (file)
@@ -45,8 +45,9 @@ sub usage {
     print << "    EOUSAGE";
 Usage:
 
-    $0 [-p] [-v] | [-h]
+    $0 [-a] [-p] [-v] | [-h]
 
+    -a Run all tests (default is to skip .ph tests)
     -p Print a preface before each test telling what it will test.
     -v Verbose mode in which extra information about test results
        is printed.  Test failures always print out some extra information
@@ -66,7 +67,7 @@ while ($ARGV[0] =~ /^-/) {
         usage() if '?' =~ /\Q$flag/;
         usage() if 'h' =~ /\Q$flag/;
         usage() if 'H' =~ /\Q$flag/;
-        usage("unknown flag: `$flag'") unless 'HhPpVv' =~ /\Q$flag/;
+        usage("unknown flag: `$flag'") unless 'HhPpVva' =~ /\Q$flag/;
         warn "$0: `$flag' flag already set\n" if $opt{$flag}++;
     } 
     shift;
@@ -123,7 +124,7 @@ my \$ivp_VERSION = $];
 
 !GROK!THIS!
 print OUT <<'!NO!SUBS!';
-if ($ivp_VERSION == $]) {
+if ($ivp_VERSION eq $]) {
     print "## Perl version `$]' appears installed as expected.\n" if $opt{'v'};
     print "ok 2\n";
     $pass__total++;
@@ -303,6 +304,7 @@ else {
 $tests_total++;
 
 
+if ($opt{'a'}) {
 print "## Checking installations of *.h -> *.ph header files.\n" if $opt{'p'};
 my $ph_there = 0;
 my $var = undef;
@@ -352,6 +354,10 @@ else {
     $error_total++;
 }
 $tests_total++;
+}
+else {
+    print "##  Skip checking of *.ph header files.\n" if $opt{'p'};
+}
 
 # Final report (rather than feed ousrselves to Test::Harness::runtests()
 # we simply format some output on our own to keep things simple and
@@ -370,11 +376,11 @@ if ($error_total == 0 && $tests_total) {
 
 =head1 NAME
 
-B<perlivp> - Perl Installation Verification Procedure
+perlivp - Perl Installation Verification Procedure
 
 =head1 SYNOPSIS
 
-B<perlivp> [B<-p>] [B<-v>] [B<-h>]
+B<perlivp> [B<-a>] [B<-p>] [B<-v>] [B<-h>]
 
 =head1 DESCRIPTION
 
@@ -400,6 +406,11 @@ etc.
 
 Prints out a brief help message.
 
+=item B<-a> run all tests
+
+Normally tests for optional features are skipped.  With -a all tests
+are executed.
+
 =item B<-p> print preface
 
 Gives a description of each test prior to performing it.