PATCH (Re: [ID 20000612.004] Should regression tests fail if user doesn't build XS...
Nicholas Clark [Fri, 23 Jun 2000 16:21:15 +0000 (17:21 +0100)]
Message-ID: <20000623162115.A19894@Bagpuss.unfortu.net>

p4raw-id: //depot/cfgperl@6270

t/lib/anydbm.t
t/lib/dprof.t
t/lib/dumper-ovl.t
t/lib/dumper.t
t/lib/hostname.t
t/lib/ipc_sysv.t
t/op/taint.t

index a7fca17..e304766 100755 (executable)
@@ -5,6 +5,11 @@
 BEGIN {
     chdir 't' if -d 't';
     unshift @INC, '../lib';
+    require Config; import Config;
+    if (($Config{'extensions'} !~ /\b(DB|[A-Z]DBM)_File\b/) ){
+      print "1..0 # Skipping (no DB_File or [A-Z]DBM_File)\n";
+      exit 0;
+    }
 }
 require AnyDBM_File;
 use Fcntl;
index 4d6f782..fc5bd05 100755 (executable)
@@ -3,6 +3,11 @@
 BEGIN {
     chdir( 't' ) if -d 't';
     unshift @INC, '../lib';
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bDevel\/DProf\b/){
+      print "1..0 # Skip: Devel::DProf was not built\n";
+      exit 0;
+    }
 }
 
 END {
@@ -11,7 +16,6 @@ END {
 
 use Benchmark qw( timediff timestr );
 use Getopt::Std 'getopts';
-use Config '%Config';
 getopts('vI:p:');
 
 # -v   Verbose
index 8c095e5..b8c8719 100755 (executable)
@@ -3,6 +3,11 @@
 BEGIN {
     chdir 't' if -d 't';
     unshift @INC, '../lib' if -d '../lib';
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bData\/Dumper\b/) {
+      print "1..0 # Skip: Data::Dumper was not built\n";
+      exit 0;
+    }
 }
 
 use Data::Dumper;
index b9680bd..7b5a611 100755 (executable)
@@ -6,6 +6,11 @@
 BEGIN {
     chdir 't' if -d 't';
     unshift @INC, '../lib' if -d '../lib';
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bData\/Dumper\b/) {
+      print "1..0 # Skip: Data::Dumper was not built\n";
+      exit 0;
+    }
 }
 
 use Data::Dumper;
index 6f61fb9..8a34e9c 100755 (executable)
@@ -3,6 +3,11 @@
 BEGIN {
     chdir 't' if -d 't';
     unshift @INC, '../lib';
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bSys\/Hostname\b/) {
+      print "1..0 # Skip: Sys::Hostname was not built\n";
+      exit 0;
+    }
 }
 
 use Sys::Hostname;
index a4f3e3f..d2991e3 100755 (executable)
@@ -9,7 +9,9 @@ BEGIN {
 
     my $reason;
 
-    if ($Config{'d_sem'} ne 'define') {
+    if ($Config{'extensions'} !~ /\bIPC\/SysV\b/) {
+      $reason = 'IPC::SysV was not built';
+    } elsif ($Config{'d_sem'} ne 'define') {
       $reason = '$Config{d_sem} undefined';
     } elsif ($Config{'d_msg'} ne 'define') {
       $reason = '$Config{d_msg} undefined';
index 6548b46..af57834 100755 (executable)
@@ -24,7 +24,8 @@ BEGIN {
       $ENV{PATH} = $ENV{PATH};
       $ENV{TERM} = $ENV{TERM} ne ''? $ENV{TERM} : 'dummy';
   }
-  if ($Config{d_shm} || $Config{d_msg}) {
+  if ($Config{'extensions'} =~ /\bIPC\/SysV\b/
+      && ($Config{d_shm} || $Config{d_msg})) {
      require IPC::SysV;
      IPC::SysV->import(qw(IPC_PRIVATE IPC_RMID IPC_CREAT S_IRWXU));
   }
@@ -612,7 +613,7 @@ else {
 
 # test shmread
 {
-    if ($Config{d_shm}) {
+    if ($Config{'extensions'} =~ /\bIPC\/SysV\b/ && $Config{d_shm}) {
        no strict 'subs';
        my $sent = "foobar";
        my $rcvd;
@@ -646,7 +647,7 @@ else {
 
 # test msgrcv
 {
-    if ($Config{d_msg}) {
+    if ($Config{'extensions'} =~ /\bIPC\/SysV\b/ && $Config{d_msg}) {
        no strict 'subs';
        my $id = msgget(IPC_PRIVATE, IPC_CREAT | S_IRWXU);