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.