Change 33237 by [EMAIL PROTECTED] on 2008/02/05 14:00:00

        Add a new test for Safe

Affected files ...

... //depot/perl/MANIFEST#1668 edit
... //depot/perl/ext/Safe/t/safeload.t#1 add

Differences ...

==== //depot/perl/MANIFEST#1668 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#1667~33098~   2008-01-28 12:04:40.000000000 -0800
+++ perl/MANIFEST       2008-02-05 06:00:00.000000000 -0800
@@ -1006,6 +1006,7 @@
 ext/Safe/t/safe1.t             See if Safe works
 ext/Safe/t/safe2.t             See if Safe works
 ext/Safe/t/safe3.t             See if Safe works
+ext/Safe/t/safeload.t          Tests that some modules can be loaded by Safe
 ext/Safe/t/safeops.t           Tests that all ops can be trapped by Safe
 ext/Safe/t/safeuniversal.t     Tests Safe with functions from universal.c
 ext/SDBM_File/Makefile.PL      SDBM extension makefile writer

==== //depot/perl/ext/Safe/t/safeload.t#1 (text) ====
Index: perl/ext/Safe/t/safeload.t
--- /dev/null   2008-02-01 14:47:59.480979692 -0800
+++ perl/ext/Safe/t/safeload.t  2008-02-05 06:00:00.000000000 -0800
@@ -0,0 +1,30 @@
+#!perl
+
+BEGIN {
+    if ($ENV{PERL_CORE}) {
+       chdir 't' if -d 't';
+       @INC = '../lib';
+    }
+    require Config;
+    import Config;
+    if ($Config{'extensions'} !~ /\bOpcode\b/) {
+       print "1..0\n";
+       exit 0;
+    }
+    # Can we load the version module ?
+    eval { require version; 1 } or do {
+       print "1..0 # no version.pm\n";
+       exit 0;
+    };
+    delete $INC{"version.pm"};
+}
+
+use strict;
+use Test::More;
+use Safe;
+plan(tests => 1);
+
+my $c = new Safe;
+$c->permit(qw(require caller));
+my $r = $c->reval(q{ use version; 1 });
+ok( defined $r, "Can load version.pm in a Safe compartment" ) or diag $@;
End of Patch.

Reply via email to