Upgrade Safe.pm to 2.09 after CPAN backport.
Artur Bergman [Sun, 6 Oct 2002 15:40:56 +0000 (15:40 +0000)]
Fix testcases to run properly outside perl core build enviroment.

p4raw-id: //depot/perl@17980

ext/Opcode/Safe.pm
ext/Safe/safe1.t
ext/Safe/safe2.t
ext/Safe/safe3.t

index ad46bbb..b090e40 100644 (file)
@@ -3,7 +3,7 @@ package Safe;
 use 5.003_11;
 use strict;
 
-our $VERSION = "2.08";
+$Safe::VERSION = "2.09";
 
 use Carp;
 
@@ -47,7 +47,7 @@ sub new {
     # the whole glob *_ rather than $_ and @_ separately, otherwise
     # @_ in non default packages within the compartment don't work.
     $obj->share_from('main', $default_share);
-    Opcode::_safe_pkg_prep($obj->{Root});
+    Opcode::_safe_pkg_prep($obj->{Root}) if($Opcode::VERSION > 1.04);
     return $obj;
 }
 
index 27993d9..6a3b908 100755 (executable)
@@ -1,13 +1,16 @@
 #!./perl -w
 $|=1;
 BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
+    if($ENV{PERL_CORE}) {
+       chdir 't' if -d 't';
+       @INC = '../lib';
+    }
     require Config; import Config;
     if ($Config{'extensions'} !~ /\bOpcode\b/ && $Config{'osname'} ne 'VMS') {
         print "1..0\n";
         exit 0;
     }
+
 }
 
 # Tests Todo:
index 94398d4..3ea19ed 100755 (executable)
@@ -1,8 +1,10 @@
 #!./perl -w
 $|=1;
 BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
+    if($ENV{PERL_CORE}) {
+       chdir 't' if -d 't';
+       @INC = '../lib';
+    } 
     require Config; import Config;
     if ($Config{'extensions'} !~ /\bOpcode\b/ && $Config{'osname'} ne 'VMS') {
         print "1..0\n";
@@ -38,7 +40,7 @@ $cpt = new Safe or die;
 $cpt = new Safe "Root";
 
 $cpt->reval(q{ system("echo not ok 1"); });
-if ($@ =~ /^'system' trapped by operation mask/) {
+if ($@ =~ /^'?system'? trapped by operation mask/) {
     print "ok 1\n";
 } else {
     print "#$@" if $@;
index 6265d14..2d5f275 100644 (file)
@@ -4,14 +4,14 @@ BEGIN {
     if ($ENV{PERL_CORE}) {
        chdir 't' if -d 't';
        @INC = '../lib';
-       require Config; import Config;
-       if ($Config{'extensions'} !~ /\bOpcode\b/
-           && $Config{'extensions'} !~ /\bPOSIX\b/
-           && $Config{'osname'} ne 'VMS')
-       {
-           print "1..0\n";
-           exit 0;
-       }
+    }
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bOpcode\b/
+       && $Config{'extensions'} !~ /\bPOSIX\b/
+       && $Config{'osname'} ne 'VMS')
+    {
+       print "1..0\n";
+       exit 0;
     }
 }